同列内で重複した項目の最終行だけを合計する

列内に複数の項目がありランダムに重複している場合。

例えば累計を出しているので、最終行だけを抽出して合計を出したい、といった場合などに便利です。

今回は、下図の赤字部分を合計してみます。

20180416




作業列を使わずに一度で計算する場合はやはり配列の関数を使っていきます。

=SUMPRODUCT((B1:B13<>B2:B14)*( C1:C13))

結果は「120」と返されます。

 

範囲選択の部分がみそですが、「(B1:B13<>B2:B14)」のように1行ずらすことで上下の項目を比較してます。

演算子「<>」(等しくない)を使用してますので、上下を比較して一致してない場合はTRUEを返してきます。
つまり最終行のところだけTRUEになるのです。

合計範囲は(C1:C13)を指定してますので、TRUEが返ってきた行のC列を合計します。

これで値が返るようになります。

※カッコの数が足りないと正しく値が返らないので注意です。