別の列に特定のテキストが含まれる場合に合計する
本チュートリアルでは、別の列のセルに特定のテキストまたは部分テキストが含まれている場合に値を合計する方法を解説します。たとえば、以下のデータ範囲において「T-Shirt」というテキストを含む製品の合計金額を取得したい場合、Excel では SUMIF 関数と SUMPRODUCT 関数のどちらもこのタスクに対応できます。

SUMIF 関数でセルに特定のテキストまたは部分テキストが含まれる場合に値を合計する
別の列のセルに特定のテキストが含まれる場合、ワイルドカード(*)を使った SUMIF 関数で値を合計できます。一般的な構文は次のとおりです。
ハードコードされたテキストを用いた一般的な数式:
=SUMIF(range,「*text*」,sum_range)
- range:条件を使って評価したいデータの範囲です。
- *text*:値を合計するための条件です。任意の文字数に一致させるには、ワイルドカード「*」をご利用ください。特定のテキストを含むすべての項目に一致させるには、そのテキストを「*」で前後から囲みます。()テキストとワイルドカードは必ず二重引用符で囲んでください。)
- sum_range:合計したい数値が含まれるセルの範囲です。
セル参照を用いた一般的な数式:
=SUMIF(range,「*」&cell&「*」,sum_range)
- range:条件を使って評価したいデータの範囲です。
- 「*」&cell&「*」:合計する値の条件です。
- *:任意の文字数に一致するワイルドカードです。
- セル:検索対象の特定のテキストを含むセルです。
- &:この連結演算子(&)は、セル参照とアスタリスクを結合する際に使用されます。
- sum_range:合計したい数値が含まれるセルの範囲です。
関数の基本的な動作を理解したら、必要に応じて以下のいずれかの数式を使用し、Enterキーを押して結果を取得してください。
=SUMIF($A$2:$A$12,)「*T-shirt*」,$B$2:$B$12) (Type the criteria manually)
=SUMIF($A$2:$A$12,)「*」&D2&「*」,$B$2:$B$12) (Use a cell reference)
=SUMIF($A$2:$A$12,)「*」&D2&「*」,$B$2:$B$12) (Use a cell reference)

注記:この SUMIF 関数は大文字と小文字を区別しません。
SUMPRODUCT 関数でセルに特定のテキストまたは部分テキストが含まれる場合に値を合計する
SUMPRODUCT 関数でもワイルドカードを使わずにこの作業を完了できます。その際には、ISNUMBER 関数と SEARCH 関数を SUMPRODUCT 関数内に組み込む必要があります。一般的な構文は次のとおりです。
=SUMPRODUCT(sum_range *(ISNUMBER(SEARCH(criteria,range))))
- sum_range:合計したい数値が含まれるセル範囲です。
- criteria:値を合計するための条件で、セル参照または定義済みの特定のテキストです。
- range:条件を使用して評価したいデータ範囲です。
空白セルに以下のいずれかの数式を入力し、Enterキーを押して結果を表示してください。
=SUMPRODUCT($B$2:$B$12*(ISNUMBER(SEARCH())))「T-Shirt」,$A$2:$A$12)))) (Type the criteria manually)
=SUMPRODUCT($B$2:$B$12*(ISNUMBER(SEARCH())))D2,$A$2:$A$12)))) (Use a cell reference)
=SUMPRODUCT($B$2:$B$12*(ISNUMBER(SEARCH())))D2,$A$2:$A$12)))) (Use a cell reference)

この数式の説明:
=SUMPRODUCT($B$2:$B$12*(ISNUMBER(SEARCH(「T-Shirt」,$A$2:$A$12))))
- SEARCH(「T-Shirt」,$A$2:$A$12):SEARCH 関数は、データ範囲 A2:A12 内で特定のテキスト「T-Shirt」が出現する位置を返します。その結果、次のような配列が得られます:{5;#VALUE!;#VALUE!;7;#VALUE!;7;#VALUE!;#VALUE!;#VALUE!;#VALUE!;7}。
- ISNUMBER(SEARCH(「T-Shirt」,$A$2:$A$12))= ISNUMBER({5;#VALUE!;#VALUE!;7;#VALUE!;7;#VALUE!;#VALUE!;#VALUE!;#VALUE!;7}):この ISNUMBER 関数は、各要素が数値かどうかを判定し、次のような新しい配列を返します:{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE}。
- $B$2:$B$12*(ISNUMBER(SEARCH(「T-Shirt」,$A$2:$A$12)))= {347;428;398;430;228;379;412;461;316;420;449}*{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE}:この2 つの配列を乗算する際、算術演算によって TRUE と FALSE の値はそれぞれ1 と0 に自動的に変換されます。そのため、乗算結果は次のようになります:{347;428;398;430;228;379;412;461;316;420;449}*{1;0;0;1;0;1;0;0;0;0;1}={347;0;0;430;0;379;0;0;0;0;449}。
- SUMPRODUCT($B$2:$B$12*(ISNUMBER(SEARCH(「T-Shirt」,$A$2:$A$12)))) =SUMPRODUCT({347;0;0;430;0;379;0;0;0;0;449}):最後に、SUMPRODUCT 関数が配列内のすべての値を合計し、結果として1605 を得ます。
使用される関連関数:
- SUMIF:
- SUMIF 関数を使えば、単一の条件に基づいてセルの合計を簡単に求められます。
- SUMPRODUCT:
- SUMPRODUCT 関数を使えば、2 つ以上の列や配列の要素をそれぞれ掛け合わせ、その積の合計を簡単に求められます。
- ISNUMBER:
- Excel の ISNUMBER 関数は、セルに数値が含まれていると TRUE を、そうでない場合は FALSE を返します。
- SEARCH:
- SEARCH 関数は、指定されたテキスト文字列内で特定の文字や部分文字列が何文字目に位置するかを検索するのに役立ちます。
関連記事:
- 特定のテキストまたは文字で始まる、または終わる場合に合計する
- 特定の値で始まる、または終わるセルの値を合計したい場合は、ワイルドカード(*)を使った SUMIF 関数が便利です。本記事では、この数式の使い方を詳しく解説します。
- 最小値または下位 N 個の値を合計する
- Excel では、SUM 関数を使えばセル範囲を簡単に合計できます。ただし、場合によっては、以下のスクリーンショットのように、データ範囲内の最小値や下位3 個、5 個、または任意の n 個の数値を合計したいこともあるでしょう。そんなときは、SUMPRODUCT 関数と SMALL 関数を組み合わせることで、Excel 上でこの課題をスマートに解決できます。
- 条件に基づいて最小値または下位 N 個の値を合計する
- 前回のチュートリアルでは、データ範囲内の最小 n 個の値を合計する方法をご紹介しました。今回はさらに一歩進んで、Excel で1 つまたは複数の条件に基づき、最小 n 個の値を合計する高度なテクニックを解説します。
最高の Office 生産性ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト・重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools を好みの言語でお使いいただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+言語以上をサポートしています!
Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします
- 数十もの開いているドキュメントを1 秒で切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。