ExcelVBA/マクロ

SUMIFで「~を含む」という条件で合計する方法

SUMIFで「~を含む」という

SUMIFで特定の文字を「含む」という条件に合致する場合に合計額を表示する方法です。

*(アスタリスク)というワイルドカードを使って「~を含む」という条件を作る

先に結論の数式です。

ワイルドカードの「*」を使います。

=SUMIF(範囲,"*"&検索条件&"*",[合計範囲])

検索条件を「”*”」と「&」で挟むことで、「”*” & 検索条件 & “*”」の

ワイルドカードは「何かしらの文字」を指定するときに使うものです。

その中でExcelでは「?」と「*」が使えます。

  • 「?」…何かしらの一文字
  • 「*」…何かしらの0文字以上の文字

例えば検索条件を「Excel」として、含むという条件で「”*” & “Excel” & “*”」とした場合には、

「Excel1」、「Excel1234」、「1Excel」、「1234Excel」、「ABCDExel1234」が検索条件になってきます。

実際にサンプルでどうなるかを確認してみる

実際にサンプルでどうなるかを確認していきます。

サンプルのデータについては、以下の通りです。

  • 第1回Excel費用~第10回Excel費用
  • 第1回Word費用~第10回Word費用
  • 第1回Powerpoint費用~第10回Powerpoint費用
  • 第1回Outlook費用~第10回Outlook費用

に任意の金額をいれた表を準備しました。

クリックすると拡大します。

これを第1回~第10回ごとに金額の合計をSUMIFで合計します。

サンプルデータで関数をいれていく

先ほどの関数を使っていきます。

=SUMIF(範囲,"*"&検索条件&"*",[合計範囲])

今回の場合には、A2~A41セルを範囲(条件の範囲)として、B2~B42セルが合計対象範囲です。

検索条件はまずは「第1回」とします。

それをあてはまると

=SUMIF(A2:A41,"*"&"第1回"&"*",B2:B41)

クリックすると拡大します

結果はこちらです。第1回を含むセルの条件で合計範囲の金額が合計されています。190,800円が計算結果です。

クリックすると拡大します

本当に「~を含む」という条件で合計できているか検証してみる

念の為、合計がきちんとできているか確認します。

Excelのフィルタの機能で第1回で絞り込みをしてみます。

フィルタで絞り込みをして、合計を確認してみると190,800円です。「~を含む」という条件で合計ができていることが確認できます。

クリックすると拡大します

検索条件はセルを指定しても合計できる

先ほどの例では、検索を条件を”第1回”としましたが、セルを指定することもできます。

コピペなどを考えるとセルを指定すると便利です。

第1回を文字ではなく、D2のセルを指定します。また第2回~第10回の条件のセルにコピペできるように、範囲(条件範囲)と[合計範囲]も絶対参照に指定します。

=SUMIF($A$2:$A$41,"*"&D2&"*",$B$2:$B$41)
クリックすると拡大します

これで第2回~第10回のE3~E11セルにもコピペすると、第2回~第10回の合計もセルに関数で結果を出すことができます。

クリックすると拡大します

SUMIFで「~を含む」という条件で合計する方法 まとめ

SUMIFで「~を含む」という条件で合計する方法のご紹介です。「*」を使って、「~を含む」という条件で合計を出すことができます。

サンプルはデータが条件に合致するものが多かったですが、総勘定元帳などのデータ量が多く条件に合致しないものが多い場合などに特定の条件の合計をピックアップするのに便利かなと思います。

コメントを残す

*