人に聞けない痔の悩み、これでスッキリ >>

エクセル2003を使っています。
オートフィルタと、ウィンドウ枠の固定を使っています。
1500行ほどあります。最後の行にはSUBTOTAL関数で合計値を出すようにしています。
その合計値の列の直前に30行ほど0だけの列を入れています。
その列を入れないとオートフィルタで絞り込んだときに合計値列が消えてしまいます。
ですが、印刷するときにその0の列が入ってしまいます。

30行の0の列を全て消しても、ちゃんと合計値列が表示されるようにするにはどうしたらよいでしょうか。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

表の下に空白行を1行入れてからSUBTOTAL関数を使って集計値を求めます。


No.1の方がおっしゃるように、オートフィルタは範囲を指定しない場合、連続する行をフィルターを掛ける範囲として認識するので、逆に空白行を1行はさめば良いのです。

空白行の高さを低くしてやれば、見かけ上もすっきりします。
    • good
    • 0
この回答へのお礼

合計値の行あたりの行を削除したり入れたりしたらできました。
有難うございました。

お礼日時:2012/02/07 17:31

SUBTOTAL関数では通常オートフィルターなどの指定された範囲の合計等が計算されるので現象が発生しているのだと思います。



オートフィルターでは何も範囲を指定しない場合
空白行があるとそこでオートフィルターの範囲は終わってしまいます。
オートフィルターを設定する前に対象になる領域を範囲指定してからオートフィルターをかければ
空白行も対象の範囲に含まれます。
    • good
    • 0
この回答へのお礼

オートフィルターをかける範囲は指定したのですがダメでした。
でも解決したのでありがとうございました。

お礼日時:2012/02/07 17:30

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QexcelでSUBTOTAL関数を設定したのですが、オートフィルタをか

excelでSUBTOTAL関数を設定したのですが、オートフィルタをかけるとSUBTOTAL関数を設定したセルが消えてしまいます。
セルが消えないようにするにはどうすればいいんでしょうか。

Aベストアンサー

オートフィルターは条件にあわせフィルターをかけるだけなので、
「セルが消える」ということは考えられません。
「セルが表示されない」ということでしたら、
表とSUBTOTAL関数の入ったセルが続いているため
表の一部としてオートフィルターに取り込まれているためと考えられます。
それでしたら、
範囲を指定してからオートフィルターの設定をするか、
表とSUBTOTAL関数の入ったセルとの間に1行の空白セルを設けてから
オートフィルターをかけると良いです。

外していたらごめんなさい。

QExcelでフィルターのかかっているときの最終行の取り方。

Dim mySh As Worksheet


Set mySh = Sheet("Sheet1")

Debug.Print mySh.Cells(mySh.Rows.Count,1).End(xlup).Row

でデータのあるA列の最終行を取得していますが、この場合、フィルターがかかっていると実際のデータのある最終行でなくて見えている部分の最終行が返ってきます。

Excel2003 SP3
WindowsXP SP3

フィルターがかかっていても実際のデータのある最終行を取得する方法あるのでしょうか?

Aベストアンサー

A列とフィルタ範囲が別の場合も考慮してみました。

Dim mySh As Worksheet
Dim c As Range
Dim cRow As Long
Dim Row1 As Long
Dim Row2 As Long

Set mySh = Sheets("Sheet1")
Row1 = mySh.Cells(mySh.Rows.Count, 1).End(xlUp).Row
If ActiveSheet.AutoFilterMode Then
Row2 = mySh.AutoFilter.Range(mySh.AutoFilter.Range.Count).Row
End If
For Each c In mySh.Range(mySh.Cells(Row1, 1), mySh.Cells(Row2, 1))
If c <> "" Then cRow = c.Row
Next
MsgBox cRow

A列とフィルタ範囲が別の場合も考慮してみました。

Dim mySh As Worksheet
Dim c As Range
Dim cRow As Long
Dim Row1 As Long
Dim Row2 As Long

Set mySh = Sheets("Sheet1")
Row1 = mySh.Cells(mySh.Rows.Count, 1).End(xlUp).Row
If ActiveSheet.AutoFilterMode Then
Row2 = mySh.AutoFilter.Range(mySh.AutoFilter.Range.Count).Row
End If
For Each c In mySh.Range(mySh.Cells(Row1, 1), mySh.Cells(Row2, 1))
If c <> "" The...続きを読む

Qエクセルのフィルタをかけると、必ず表示されない行がある

エクセルのフィルタをかけると、必ず表示されない行がある

エクセルで売上管理をしております。
取引先別にフィルタをかけると、その対象なのに必ず表示されない行があるのです。

いつも消えた行は再表示させていますが、
計算が合わなくて困っております。

いつも表示されない行というのは、
あまり使わないセルに入力した行です。

どうやって説明したら良いのか分からず、伝わっている自信がありませんが、、、
お分かりになる方、どうぞよろしくお願いします。

Aベストアンサー

特定の行のデータがフィルタされないということでしたら、見掛けは同じでも基本的にそのデータが抽出データと違うデータの可能性が高いと思われます。

まず確認のため、オートフィルタの▼をクリックして表示される取引先のリストの中に、抽出しようとしているデータと同じようなデータが含まれていないか調べてみてください。

また、抽出される取引先のセルを選択してコピーし、抽出されない行の取引先データに貼り付けで再度フィルタ操作を行ってみてください。

Qオートフィルタ機能のデータがひっかからない

追加でデータを増やしたら
増やしたデータの部分の
(例えばA列に日付が入っているとして)
A列のオートフィルタ機能の▼に
増やした日付が抽出選択しとして
認識してもらえませんでした。

なぜでしょうか?
よろしくおねがいします。

Aベストアンサー

>・対象データの部分(表)をしっかり選択して
> オートフィルタの設定をする。
読み返したら
ちょっと変な言い回しになっていることに気づいたので
訂正させてください。

・オートフィルタしたい対象範囲を選択してオートフィルタ設定する。

これが一番無難な解決方法だと思います。

P.s
>#1さま。失礼なコメントで申し訳ありません。
全然そんなことありません。気にしないで

Qエクセルのオートフィルタで最初の数行を残してフィルタをしたい

宜しくお願いします。
エクセル2003ですが、最初の3行くらいは
フィルタリングされたくない行なのですが
残してフィルタを掛けることは可能なのでしょうか?

下記のような感じです

==================================================
   No     1 2 3
  クラス   A B C
  名前    あ い う
国語      80 90 100
算数      50 60 70

==================================================

といった図で、No,クラス、名前は残したままで
フィルタを掛けたいのですが出来ますでしょうか?

教えてください。

宜しくお願いします。

Aベストアンサー

No.1です!
失礼しました!
質問内容では2行目ではなく3行目になります!

いづれにしても残したい一番下の行をすべて範囲指定して、
オートフィルタです!
どうもたびたびごめんなさい!m(__)m

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Q=SUBTOTAL に =COUNTIF の機能を実装

お世話になります。

掲題の件で ご相談が御座います。


=SUBTOTAL(3,U5:U63) と
=COUNTIF(U5:U63,"完了") を 1つのセルで表現したいのですが
これは不可能でしょうか?

本当は「U列」だけではなく、20~30列全部に そのような機能を持った関数を入れたいのですが
両方を兼ね備えた関数を どなたかご存知ないでしょうか。

ようは、その表全体にフィルタを設定しており、いくつかの条件で抽出した時に「完了」の数が変わるので
現状 自分が思いつく所で考えると別シートに移して「=COUNTIF(●:●,"完了")」を都度入れていくか?
ぐらいしか思いつきません。

・フィルタで抽出しても元の範囲選択はそのまま。
・フィルタで抽出後に見えている選択範囲の「完了」だけを数えて欲しい
・上記2つの条件で1つのセルに数式を入力したい。

この3つの条件が満たされれば「=SUBTOTAL」や「=COUNTIF」にこだわる必要はありません。

どなたか ご存知であればご教示いただけますでしょうか。

説明が不足のようでしたら何度でも補足致しますので何卒宜しくお願い致します。

お世話になります。

掲題の件で ご相談が御座います。


=SUBTOTAL(3,U5:U63) と
=COUNTIF(U5:U63,"完了") を 1つのセルで表現したいのですが
これは不可能でしょうか?

本当は「U列」だけではなく、20~30列全部に そのような機能を持った関数を入れたいのですが
両方を兼ね備えた関数を どなたかご存知ないでしょうか。

ようは、その表全体にフィルタを設定しており、いくつかの条件で抽出した時に「完了」の数が変わるので
現状 自分が思いつく所で考えると別シートに移して「=COUNTIF(●:●,"...続きを読む

Aベストアンサー

またまたまた登場、myrangeです。

質問者がマクロをどの程度使えるのか分からないのでなんですが、
(質問から推測するにあまり使ったことがない?)
先に提示したマクロは関数ではありませんから
データの内容が変るたびに(結果を求めたい時点で)実行しなければいけません。
もし、SUBTOTALのような関数(セルに式としてセットする)にしたければ
以下のようなユーザー定義関数を作ることになります。

'---------------------------------------------- 
Function Ookami(myRange As Range, myStr As Variant) As Long
 Dim Rng As Range
 Dim Cnt As Long
 For Each Rng In myRange
  If Rng.EntireRow.Hidden = False And Rng.Value = myStr Then
    Cnt = Cnt + 1
  End If
 Next Rng
 Ookami = Cnt
End Function
'---------------------------------------------

使い方は、以下のようにします。
関数名は質問者のハンドルネームです。。(^^;;;

■Ookami(セル範囲, 検索文字)■

=Ookami(U5:U63,"完了")

F5~F666の範囲で、表示されてる"連絡済"をカウントしたければ

=Ookami(F5:F666,"連絡済")

要するにふつうの関数と同じような使い方になります。
以上です。
 

またまたまた登場、myrangeです。

質問者がマクロをどの程度使えるのか分からないのでなんですが、
(質問から推測するにあまり使ったことがない?)
先に提示したマクロは関数ではありませんから
データの内容が変るたびに(結果を求めたい時点で)実行しなければいけません。
もし、SUBTOTALのような関数(セルに式としてセットする)にしたければ
以下のようなユーザー定義関数を作ることになります。

'---------------------------------------------- 
Function Ookami(myRange As Range, myStr...続きを読む

Qエクセルのオートフィルタ機能を使った際の印刷

エクセルでリスト形式のデータを作って、オートフィルタを使ったときの印刷なんですが、何ページもあるデータをフィルタで抽出したものだけ印刷したいのに、データが離れた行にあるので、1ページは10行、2ページ目は2行、3ページ目は5行…のように連続して印刷できません。
改プレかオートフィルタの設定かなあと思ったんですが、設定の場所がわかりません。
よろしくおねがいします。

Aベストアンサー

「挿入」「改ページ」で改ページの破線が入ってませんか?

破線の下にカーソルを持っていって、「挿入」「改ページの削除」で
解除できますけど。何なら左上の行列クロスの部分をクリックして
シート全体を選択「挿入」「全ての改ページを削除」しちゃっても
いいかもしれません。

Qエクセルオートフィルタで余計なデータも表示される

こんにちは。エクセルについて教えて頂きたいです。
あるデータベースにオートフィルタを付けているのですが、
”空白セルのみ表示”にしているのに、絞り込んだデータの
下の方に 空白ではないのに表示されている行があります。

一度オートフィルタを外して再設定すると消えるのですが、
データが増えるたびに毎回このような状態になってしまいます。

どのようにすれば直るのでしょうか?
検索してみたのですがどんなキーワードを入れれば良いか
分からずうまく検索できなくて、こちらに質問させて頂きました。

Aベストアンサー

空き列や空き行等空白がある状態では、エクセルはその範囲しか認識しないので対象列を全選択(列番号をドラッグ)してオートフィルタ設定をしておく方法は如何でしょうか。
(既に実践済みということならば読み飛ばして下さい)

QEXCELのオートフィルタで空白セルを無視したいのですが

オートフィルタで検索をかけると
空白セルがあるためか、空白セルより上の
セル内容でしか表示されません
空白セルを削除せず、無視する形で
最終行まで検索をかけられる方法はないでしょうか

Aベストアンサー

最終行まで範囲指定した後、オートフィルタをすると出来ると思います。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング