Excelの表で商品名、支店名、担当者名などに含まれる特定の文字を条件にして、売上や数量を合計したい場面は多いものです。

例えば、商品名に「りんご」を含む行だけの売上を集計したり、「東京」と「大阪」のように複数の文字列をまとめて合計したりするケースがあります。

条件が一つならSUMIF関数、条件が複数ならSUMIFS関数、複数の候補を一度に扱うならSUMPRODUCT関数や配列数式を使うことで、手作業の抽出を減らせます。

特定の文字を含む数値の合計には、ワイルドカードを付けたSUMIF関数が基本です。

複数の文字列を対象にする場合は、SUMIFを足し算する方法、SUMPRODUCTでまとめる方法、FILTER関数を使う方法を使い分けます。

この記事では、1行目を見出し行としたサンプルデータを使い、エクセルで特定の文字を合計する方法を詳しく確認していきましょう。

 

エクセルで特定の文字を合計する基本式

商品名 分類 売上
青森りんご 果物 1200
みかん 果物 800
りんごジュース 飲料 1500
バナナ 果物 600

それではまず、特定の文字を含むセルを条件に売上を合計する基本式について解説していきます。

商品名に「りんご」を含む売上の合計は、1200と1500を足した2700です。

 

SUMIF関数にワイルドカードを入れる方法

エクセルで特定の文字を合計する基本式 - SUMIF関数にワイルドカードを入れる方法

部分一致で集計するときは、SUMIF関数の条件文字列の前後へアスタリスクを付けます。

アスタリスクは、任意の文字列が入る部分を表すワイルドカードです。

=SUMIF(A2:A5,”*りんご*”,C2:C5)

この数式では、A2からA5の商品名に「りんご」が含まれるかどうかを確認し、該当行のC列の売上を合計します。

「青森りんご」と「りんごジュース」のどちらも条件に合うため、結果は2700になります。

条件範囲と合計範囲は、同じ開始行と終了行にそろえることが大切です。

例えば条件範囲がA2からA5なのに、合計範囲だけC3からC5にすると、行の対応がずれて正しい集計になりません。

 

セル参照で検索文字を変更しやすくする方法

エクセルで特定の文字を合計する基本式 - セル参照で検索文字を変更しやすくする方法

数式へ文字を直接入力する代わりに、検索したい文字をE2セルへ入力しておくと便利です。

E2に「りんご」と入力した場合は、次の式を使います。

=SUMIF(A2:A5,”*”&E2&”*”,C2:C5)

アンパサンドは文字列をつなぐ演算子です。

この式では、最初のアスタリスク、E2の文字列、最後のアスタリスクが連結され、「りんごを含む」という条件になります。

検索語を変えるたびに数式を編集する必要がなく、E2の内容だけを変更できます。

商品名だけでなく、担当者名、部署名、都道府県名、ファイル名の一部などを集計する場面にも応用可能です。

 

完全一致と部分一致の使い分け

セルの内容が完全に一致する行だけを集計する場合は、アスタリスクを付けません。

=SUMIF(A2:A5,”りんご”,C2:C5)

この式は、セルの文字が「りんご」だけである行を合計します。

サンプル表では「青森りんご」や「りんごジュース」は完全一致ではないため、結果は0になります。

一方で、分類列がすべて「果物」のように統一された文字列なら、完全一致の条件が適しています。

部分一致は便利ですが、意図しない語句まで合計する可能性があります。

「東京」という条件で「東京都」と「東京営業所」をまとめたいのか、都道府県名として「東京都」だけを対象にしたいのかを、先に整理しておきましょう。

【操作のポイント】部分一致では「*検索文字*」、完全一致では「検索文字」と入力します。

 

複数の特定文字を合計するSUMIF関数

商品名 売上
青森りんご 1200
温州みかん 800
りんごジュース 1500
バナナ 600

続いては、「りんご」と「みかん」のように複数の文字をOR条件として合計する方法を確認していきます。

SUMIF関数は一つの条件を扱う関数ですが、複数のSUMIFを加算すれば複数候補を集計できます。

 

SUMIF関数を足し算する方法

最も分かりやすい方法は、文字ごとのSUMIF関数をプラス記号でつなぐ方法です。

複数の特定文字を合計するSUMIF関数 - SUMIF関数を足し算する方法

=SUMIF(A2:A5,”*りんご*”,B2:B5)+SUMIF(A2:A5,”*みかん*”,B2:B5)

「りんご」を含む売上は2700、「みかん」を含む売上は800なので、合計結果は3500です。

検索したい文字が二つか三つ程度なら、この書き方は数式の意味を確認しやすい方法です。

ただし、対象語が十個、二十個と増えると式が長くなり、修正漏れが起きやすくなります。

条件が少ない集計には足し算方式、条件が多い集計には後述する一覧参照方式が向いています。

 

検索語をセルに置いて合計する方法

E2に「りんご」、E3に「みかん」を入力し、それぞれのセルを数式から参照する方法もあります。

複数の特定文字を合計するSUMIF関数 - 検索語をセルに置いて合計する方法

=SUMIF(A2:A5,”*”&E2&”*”,B2:B5)+SUMIF(A2:A5,”*”&E3&”*”,B2:B5)

この形なら、集計対象を変えるときに数式の中の文字列を打ち直さずに済みます。

検索語の一覧を別シートに作れば、月ごとの集計ルールや部署ごとの対象商品も管理しやすくなります。

入力セルに余計なスペースがあると一致しないため、文字列の前後に空白がないかも確認しましょう。

空白が混じりやすいデータでは、TRIM関数で余分な半角スペースを取り除いてから判定する方法もあります。

 

同じ行を重複して数えないための注意点

複数のSUMIF関数を足し算する方式では、一つのセルが二つの条件に該当すると、その行の数値が重複して加算されます。

例えば商品名が「りんご・みかんセット」の場合、「りんご」と「みかん」の両方に一致します。

この行を一回だけ合計したい場合は、単純なSUMIFの足し算ではなく、SUMPRODUCT関数でOR条件を作る方法が適しています。

反対に、二つのキーワードに該当する売上をそれぞれ別の視点で評価したく、重複計上が目的に合うこともあります。

集計前に、複数条件が重なるデータを一度確認する習慣が重要です。

【操作のポイント】複数のSUMIFを加算する式では、同じセルが複数条件に一致したときの重複を確認します。

 

SUMPRODUCT関数による複数文字の集計

商品名 売上
青森りんご 1200
温州みかん 800
りんご・みかんセット 2000
バナナ 600

続いては、複数の文字のどれかを含む行を重複なく合計できるSUMPRODUCT関数について確認していきます。

サンプル表では、「りんご・みかんセット」の2000を一度だけ数え、合計は4000にしたいケースを想定します。

 

SEARCH関数とSUMPRODUCT関数を組み合わせる方法

SEARCH関数は、指定した文字列がセルの何文字目にあるかを返す関数です。

文字列が見つからない場合はエラーになりますが、ISNUMBER関数と組み合わせることで、含まれているかを真偽値として判定できます。

=SUMPRODUCT(–((ISNUMBER(SEARCH(“りんご”,A2:A5)))+(ISNUMBER(SEARCH(“みかん”,A2:A5))>0)),B2:B5)

この式では、商品名に「りんご」または「みかん」が含まれる行を判定し、その行の売上を合計します。

二つの語を含むセット商品でも、OR条件として判定するため売上は一回だけ加算されます。

数式は長く見えますが、検索条件が重なったときに正確な集計をしたい場面で役立ちます。

複数文字の集計.xlsx – Excel− □ ×
ファイルホーム挿入ページ レイアウト数式データ校閲
貼り付けB罫線配置Σ オートSUM
fxB7=SUMPRODUCT(–((ISNUMBER(SEARCH(“りんご”,A2:A5)))+(ISNUMBER(SEARCH(“みかん”,A2:A5))>0)),B2:B5)
A B C
1 商品名 売上
2 青森りんご 1200
3 温州みかん 800
4 りんご・みかんセット 2000
5 バナナ 600
6
7 合計 4000
結果セルを確認
➤

 

検索文字を一覧で管理する方法

検索対象が増える場合は、E2からE4などに対象文字を一覧で入力します。

Microsoft 365やExcel 2021以降では、次のような数式で複数条件をまとめて扱えます。

=SUMPRODUCT(B2:B5,–(MMULT(–ISNUMBER(SEARCH(E2:E4,A2:A5)),ROW(E2:E4)^0)>0))

この式は、E2からE4に入力された文字のうち、いずれか一つでも商品名に含まれているかを判定します。

入力リストへ「りんご」「みかん」「バナナ」と追加するだけで、集計対象を増やせる構成です。

検索語を別表にしておくと、数式を触れない担当者でも対象を更新しやすくなります。

ただし、SUMPRODUCTとMMULTを使う式は処理が重くなることがあります。

数万行を超える大きなデータでは、テーブル化やPower Queryの利用も検討しましょう。

 

検索時の大文字小文字とエラー処理

SEARCH関数は、英字の大文字と小文字を区別しません。

例えば「apple」という検索語で「Apple」も「APPLE」も見つかります。

大文字小文字を区別したい場合は、SEARCHの代わりにFIND関数を使用します。

また、検索語自体が空欄の場合には、すべてのセルに一致するような想定外の結果になる可能性があります。

入力欄が空白のときは0を表示したいなら、IF関数で空欄判定を追加すると安心です。

=IF(E2=””,0,SUMIF(A2:A5,”*”&E2&”*”,B2:B5))

検索条件を利用者が入力する表では、空欄、全角半角、表記ゆれまで考慮すると集計ミスを防ぎやすくなります。

【操作のポイント】複数語のOR条件で重複なく合計したいときは、SUMPRODUCT関数を使います。

 

SUMIFS関数で条件を追加する集計

商品名 支店 売上
青森りんご 東京支店 1200
りんごジュース 大阪支店 1500
温州みかん 東京支店 800

続いては、特定文字に加えて支店や日付など、複数の条件を同時に指定するSUMIFS関数を確認していきます。

SUMIFS関数は、すべての条件を満たす行だけを合計するAND条件の集計に向いています。

 

文字列の部分一致と支店条件を組み合わせる方法

商品名に「りんご」を含み、かつ支店が「東京支店」である売上を合計する式です。

=SUMIFS(C2:C4,A2:A4,”*りんご*”,B2:B4,”東京支店”)

合計範囲はC2からC4、最初の条件範囲は商品名のA2からA4、二つ目の条件範囲は支店のB2からB4です。

「青森りんご」は両方の条件を満たしますが、「りんごジュース」は大阪支店なので合計対象になりません。

SUMIFS関数では、すべての条件範囲を同じ行数と同じ位置で指定します。

条件範囲のサイズが異なると、数式エラーや不正確な結果につながるため注意が必要です。

 

日付条件を加えた期間集計

売上日がD列にあり、特定の月だけを集計したい場合は、開始日以上かつ終了日未満という条件を加えます。

=SUMIFS(C2:C100,A2:A100,”*りんご*”,D2:D100,”>=”&F2,D2:D100,”<“&EDATE(F2,1))

F2には集計したい月の初日を入力します。

例えばF2が2026年9月1日なら、9月1日以上かつ10月1日未満の売上を対象にします。

月末日を直接指定するよりも、翌月の初日より前という条件にすると、時刻を含む日時データにも対応しやすい設計です。

日付が文字列として保存されている場合は、見た目が日付でも条件に一致しないことがあります。

 

OR条件とAND条件を混在させる考え方

「りんごまたはみかん」で、かつ「東京支店」という条件は、SUMIFSだけでは一式で表しにくい組み合わせです。

この場合は、支店条件を共通にしたSUMIFS関数を足し算します。

=SUMIFS(C2:C100,A2:A100,”*りんご*”,B2:B100,”東京支店”)+SUMIFS(C2:C100,A2:A100,”*みかん*”,B2:B100,”東京支店”)

商品名の条件はOR、支店の条件はANDとして処理されます。

セット商品のように両方の文字を含む行がある場合は重複するため、重複を許容するか、SUMPRODUCT方式へ切り替えるかを決めましょう。

条件が複雑になったら、条件を文章で書き出してから数式へ置き換えると整理しやすくなります。

【操作のポイント】SUMIFS関数はAND条件向けで、OR条件を加える場合は複数式の加算かSUMPRODUCTを検討します。

 

FILTER関数とテーブルによる集計管理

商品名 売上
青森りんご 1200
温州みかん 800
りんごジュース 1500

続いては、新しいExcelで使えるFILTER関数と、データをテーブル化して集計を安定させる方法を確認していきます。

FILTER関数は、条件に一致した行そのものを別の場所へ表示できるため、合計値の根拠を確認しやすい点が特徴です。

 

FILTER関数で対象行を抽出する方法

商品名に「りんご」を含む行だけを抽出する場合は、次のように入力します。

=FILTER(A2:B4,ISNUMBER(SEARCH(E2,A2:A4)),”該当なし”)

E2には検索する文字列として「りんご」を入力します。

結果として、青森りんごとりんごジュースの行が、数式を入力したセルから自動的に展開されます。

抽出された明細を見てから合計できるので、どのデータが集計対象なのかを確認しやすい方法です。

FILTER関数はMicrosoft 365やExcel 2021以降で利用できます。

古いバージョンでは利用できないため、共有先のExcel環境も確認しましょう。

 

FILTER関数の結果をSUM関数で合計する方法

売上列だけをFILTER関数で取り出し、SUM関数で合計することもできます。

=SUM(FILTER(B2:B4,ISNUMBER(SEARCH(E2,A2:A4)),0))

この式では、A列にE2の文字を含む行のB列だけを抽出し、その数値を合計します。

検索語が見つからない場合に0を返すよう指定しているため、該当なしのときもエラーになりにくい構成です。

複数の検索語を扱う場合は、検索リストとの照合式を追加する必要があります。

条件が少ないうちはSUMIF関数のほうが読みやすく、抽出結果も必要なときにFILTER関数が便利です。

 

テーブル化で参照範囲を自動拡張する方法

日々データを追加する表では、A2:A100のように固定した範囲指定ではなく、テーブルを活用すると管理が楽になります。

表内のセルを選択してCtrlキーとTキーを押し、先頭行をテーブルの見出しとして設定します。

テーブル名を売上表に変更した場合、次のような構造化参照を使えます。

=SUMIF(売上表[商品名],”*”&E2&”*”,売上表[売上])

新しい行をテーブルの末尾へ追加すると、数式の参照範囲も自動で広がります。

毎月のデータ追加がある集計表では、テーブル化によって範囲漏れを防ぎやすくなります。

【操作のポイント】明細を確認したいときはFILTER関数、追加データが多い表ではテーブル化を活用します。

 

まとめ エクセルで特定の文字を複数合計する方法

エクセルで特定の文字を含む数値を合計する基本は、SUMIF関数へワイルドカードを付ける方法です。

商品名に「りんご」を含む売上を集計する場合は、=SUMIF(A2:A5,”*りんご*”,C2:C5)のように入力します。

検索文字をセル参照にすれば、集計対象を変更しても数式を修正せずに済みます。

複数の文字列をOR条件として合計するなら、対象語が少ない場合はSUMIF関数の足し算が分かりやすい方法です。

一つのセルが複数の検索語を含み、売上を重複して加算したくない場合は、SUMPRODUCT関数でOR条件を作ると正確に集計できます。

支店、担当者、日付などの追加条件があるときは、SUMIFS関数を使ってAND条件を設定しましょう。

Microsoft 365やExcel 2021以降では、FILTER関数で該当明細を表示してから合計する方法も便利です。

集計結果だけでなく対象となった行も確認したい場面では、FILTER関数が特に役立ちます。

データが増え続けるファイルでは、表をテーブル化して参照範囲の自動拡張を利用することで、集計漏れを抑えられます。

部分一致、完全一致、OR条件、AND条件の違いを理解し、目的に合う数式を選んでいきましょう。

ABOUT ME
white-circle7338
私自身が今まで経験・勉強してきた「エクセル」「ビジネス用語」「生き方」などの情報を、なるべくわかりやすく、楽しく、発信していきます。 一緒に人生を楽しんでいきましょう