グループごとの合計
この数式のフレームワークはIFに基づいており、列Bの各値をテストして、「上のセル」の値と同じかどうかを確認します。値が一致すると、数式は何も返しません( “”)。値が異なる場合、IF関数はSUMIFを呼び出します。
SUMIF(B:B,B5,C:C)SUMIFがIFによってトリガーされる各行で、SUMIFは計算します。列C(C:C)の一致するすべての行の合計。 SUMIFで使用される基準は、列B(B5)の現在の行の値であり、すべての列B(B:B)に対してテストされます。
このような完全な列参照は、クールでエレガントです。」データの開始位置と終了位置について心配する必要はありませんが、SUMIFによってキャッチされる可能性のあるテーブルの上または下に余分なデータがないことを確認する必要があります。
パフォーマンス
現在のバージョンのExcelには100万を超える行が含まれているため、完全な列参照を使用することはお勧めできません。ただし、テストの結果、Excelは「使用範囲」(A1から最後に使用された列と最後に使用された行の交点のアドレス)のデータのみをこのタイプの数式で評価することが示されています。
Charles Williams over at Fast Excelには、このトピックに関する優れた記事があり、タイミング結果の完全なセットがあります。
ピボットテーブルについての理由