残業を減らす!Officeテクニック
Excelの集計作業はもっと簡略化できる! UNIQUE関数との組み合わせで簡単&正確に
2025年1月20日 06:55
Excelの作業として、条件に一致するデータを数えたり、数値を合計したりする集計があります。一般的にCOUNTIF / COUNTIFS関数やSUMIF / SUMIFS関数を利用しますよね。例えば、以下のような表で、製品ごとの売上合計を求めるなら、SUMIF / SUMIFS関数を使います。
H列に入力してある製品名を条件にセルC2~C31を探して、一致する行のセルF2~F31の数値を合計しています。オートフィルでコピーすることを考慮して、引数[合計対象範囲]と[条件範囲]はセル範囲を絶対参照で指定しています。
この数式に問題はありませんが、製品が増えた場合はどうしましょう? H列に製品を入力して、数式をコピーすれば解決でしょうか。しかし、追加された製品を見落とすかもしれませんよね。製品数が多ければなおさらです。
今回は、SUMIF / SUMIFS関数といった集計に使う関数とUNIQUE関数を組み合わせて、手間なく正確に集計するコツを紹介します。数式のコピーも不要になりますよ。
一意の値を取り出すUNIQUE関数
UNIQUE関数は指定したセル範囲から一意(ユニーク)な値を取り出します。構文は以下の通り。一般的に指定したセル範囲から下(列)方向に向かって、一意な値を取り出すことがほとんどですので、セル範囲だけ指定すると覚えてしまっても問題ありません。
UNIQUE関数の結果はスピルで表示されるので、入力する数式は1つだけで済みます。セル範囲を指定するのが面倒なら「=UNIQUE(C:C)」のように入力しても構いませんが、その場合はタイトル行の値と空白行の結果「0」も表示されることを覚えておいてください。
一意の値が一瞬で表示されました。SORT関数を組み合わせて並べ替えもしておきましょう。UNIQUE関数やSORT関数について詳しくはこちらの記事も参考にしてください。
スピルの結果を参照する
あとはSUMIF / SUMIFS関数を入力するだけです。条件として、スピルで表示されているUNIQUE関数の結果を参照することがポイントです。
先ほどの数式「=SORT(UNIQUE(C2:C31))」を入力したセルH2を参照する際に「H2#」のように指定すると、スピルの結果を参照できます。SUMIF / SUMIFS関数の結果もスピルで表示されるため、引数[合計対象範囲]と[条件範囲]は相対参照のままでOK、オートフィルも不要です。
そのほかの関数でも同様
数式中からスピルの結果を参照するテクニックは、COUNTIF / COUNTIFS関数やAVERAGEIF / AVERAGEIFS関数など、ほかの関数でも使えます。オートフィルでコピーする操作が面倒に感じたときに思い出してみてください。