[Excel SUBTOTAL] オートフィルタの結果見えなくなった行と非表示にした行は異なる

プログラミング
・SUBTOTAL関数における「非表示の行」の定義や意味が曖昧でよく分からない。
・「オートフィルタを適用した結果見えなくなった行」と「行選択後、右クリックして非表示にした行」って違うの?

上記の疑問を抱く方に、SUBTOTAL関数における「非表示の行」の定義と扱い方についてお教えします。

結論から言うと、SUBTOTAL関数において「オートフィルタを適用した結果見えなくなった行」と「行選択後、右クリックして非表示にした行」は異なるものとして扱われます。
非表示の行」とは「行選択後、右クリックして非表示にした行」のことを指し、「オートフィルタを適用した結果見えなくなった行」は「非表示の行」ではありません。

以下、例を交えて詳しく説明するので、よければ最後までお読みください。

 

SUBTOTAL関数における「オートフィルタの結果見えなくなった行」と「行選択後右クリックして非表示にした行」の扱われ方の違いについて

使用したもの
・Microsoft Excel

 

今回はSUBTOTAL関数の集計方法としてCOUNTA関数(番号:3 および 103)を指定します。
COUNTA関数を使うと、選択したセル範囲について空白でないセル(文字列・数値・数式・日付などのあらゆる種類のデータが入力されているセル)の個数を取得することができます。

下図を見てください。
左上の表はカウント対象となる表で、右下の表はカウントするのに使用した関数とその集計結果を示しています。
COUNTA関数やSUBTOTAL関数により、左上表の「記号」列のデータ数を集計しています。
現状だとすべての関数の集計結果は7となっています。
この状態から行を非表示にしたり、オートフィルタを設定したりしてみます。

 

例1 行選択後右クリックして行を非表示にした場合

「行選択 → 右クリック → 非表示」
まずは5番目の行を選択して右クリックし、No. 3のAを非表示にしてみます。

 

行選択後右クリックして行を非表示にした結果、下図のように「SUBTOTAL(103, 範囲)」のみ集計結果が6に変わっています。
つまり、「SUBTOTAL(3, 範囲)」は行選択から非表示にしても、非表示にした行も含めてカウントします。
一方、「SUBTOTAL(103, 範囲)」は行選択から非表示にした行を除外してカウントします。

 

例2 オートフィルタを適用して行を絞り込んだ場合

次はオートフィルタを適用して記号「A」のみに絞り込んでみます。
左上表の列:「記号」のオートフィルタ下矢印ボタンをクリックし、「A」のみ選択(☑)して「OK」ボタンをクリックします。

 

すると、下図のように「B」と「C」の行は見えなくなりますが、「COUNTA(範囲)」はオートフィルタを適用した結果見えなくなった行も含めてカウントするため、カウント数は変わらず7のままです。
一方、「SUBTOTAL(3, 範囲)」と「SUBTOTAL(103, 範囲)」はオートフィルタで絞り込まれた結果見えている行だけをカウントするため、カウント数は4になっています。

 

ここまでは問題ないのですが、ややこしいのはここからです。

例3 オートフィルタを適用して行を絞り込んだ後、さらに行選択後右クリックして行を非表示にした場合

例2でオートフィルタを適用して記号「A」のみに絞り込んだ後、5番目の行を選択して右クリックし、No. 3のAを非表示にしてみます。
例1の結果を踏まえると、予想としては「SUBTOTAL(3, 範囲)」のカウント数は4のままで、「SUBTOTAL(103, 範囲)」のカウント数は3になると思われました。

 

しかし、実際の結果は下図のように「SUBTOTAL(3, 範囲)」も「SUBTOTAL(103, 範囲)」もどちらもカウント数は3となってしまいました。

 

残念ながら、「SUBTOTAL(3, 範囲)」のカウント数が3になってしまった理由は分かりません。
ただ一つ言えることは、オートフィルタの適用と行の非表示を同時に行ってはならない(組み合わせてはならない)ということです。
知らないうちに、意図しない結果を得てしまうかもしれませんからね。


以上です。
みなさん、SUBTOTAL関数において「オートフィルタの結果見えなくなった行」と「行選択後右クリックして非表示にした行」の扱われ方が異なることを、お分かりいただけたでしょうか?
中には私と同じように、例3の結果に納得のいかない方もいらっしゃるかもしれませんね。
今回はこの原因を追究できず申し訳ありませんでした。
もしこの答えをご存知の方がいらっしゃいましたら、教えていただけるとうれしいです。

ここまで読んだくださってありがとうございました。
今後もみなさんのお役に立てるような情報を発信していきます。

タイトルとURLをコピーしました