Excelのフィルターリストの値を合計する方法 - TechRepublic

Excelのフィルターリストの値を合計する方法 - TechRepublic

出版

スーザン・ハーキンスの画像

非表示の値と表示値の両方を評価する場合を除き、SUM() 関数を使ってフィルターされたリストの合計を計算することはできません。フィルターの条件を満たす値のみを合計する方法は次のとおりです。

フィルターは強力で使いやすい機能です。フィルターを使えば、必要なレコードだけを素早く絞り込むことができます。しかし、フィルターされたレコードの合計を求めるのは別の話です。SUM()関数を使ってみるのも良いでしょう。きっと驚くような結果が得られるでしょう。

下の図はフィルター処理されたリストを示しています。左側の行番号から、多くの行が非表示になっていることがわかります。(フィルターの実際の動作についてはここでは割愛します。詳細については、「Excelの高度なフィルターでAND演算子とOR演算子を使用する方法」をご覧ください。)

次の図は、フィルターされた値を合計しようとしたときに何が起こるかを示しています。結果が正しくないことはすぐにわかります。値が大きすぎますが、なぜでしょうか?SUM()関数は、フィルターされた値だけでなく、範囲D14:D64内のすべての値を評価します。SUM()関数は、参照範囲からフィルターされた値を除外しようとしていることを認識できません。

解決策は想像以上に簡単です!「オートSUM」をクリックするだけです。ExcelはSUM()関数の代わりにSUBTOTAL()関数を自動的に入力します。この関数はリスト全体(D6:D82)を参照しますが、フィルターされた値のみを評価します。

今すぐ自動的にサインアップしましょう!

SUBTOTAL()について

SUBTOTAL() 関数は列 D の値のリスト全体を参照しますが、評価するのはフィルターされたリスト内の値のみです。最初の引数が 9 であるためだと思われるかもしれません。この引数は、参照されている値を合計するよう Excel に指示します。次の表は、この引数に指定できる値の一覧です。

隠れた価値を評価する 非表示の値を無視する 関数
1 101 平均()
2 102 カウント()
3 103 COUNTA()
4 104 最大()
5 105 最小値()
6 106 製品()
7 107 標準偏差()
8 108 STDEVP()
9 109 和()
10 110 変数()
11 111 VARP()

ここまで読んで、「ちょっと待って!値9は非表示の値を評価するはずなのに、正しい引数は109じゃないの?」と思うかもしれません。もっともな質問で、説明もできますが、あまり良い説明ではないと思います。SUBTOTAL()は、指定した引数に関わらず、フィルターの結果に含まれない行を無視します。これは奇妙な動作で、この関数について知っておくべき細かい点の一つです。9と109のどちらを使用しても、SUBTOTAL()は表示されている値のみを評価し、非表示の値は評価しません

記事をシェア
スーザン・ハーキンスの画像

スーザン・ハーキンス

スーザン・セールス・ハーキンスは、デスクトップソリューションを専門とするITコンサルタントです。以前は、世界最大の技術雑誌出版社であるコブ・グループの編集長を務めていました。

Tagged: