Excel 関数 PR

【複数条件】IF、VLOOKUP、INDEX+MATCH関数の組み合わせ

記事の内容に広告・プロモーションを含みます。

Excelで複数の条件に合うデータを抽出する方法として演算子「&」やAND関数、OR関数があります。多くの方に好まれているIF関数・VLOOKUP関数・INDEX関数とMATCH関数を組み合わせて、複数の条件を指定してデータを抽出する方法を解説します。

前提、複数条件とは?
複数の条件を同時に満たすデータを検索するための方法です。たとえば、部署の出勤管理表があるとします。出勤管理表では、日付と名前と出勤してたら〇で休みの場合は×と記載されているとします。

今日、Aさんが出勤しているかを探したい場合は、本日の日付かつAさんを検索条件にして出勤の○×を抽出することで、本日の日付でAさんが出勤しているか確認することが出来ます。

複数の条件でデータを抽出することが出来れば、業務の幅も広がり効率もよくなります!

自己紹介

IT業界でのキャリアを活かし、業務効率化に欠かせないMicrosoft365や便利ツールを紹介しています。少しのコツで膨大な可能性を最大限引き出すためのヒントやテクニックを提供し、読者のビジネスパフォーマンス向上に貢献することを目指しています!

条件を複数指定する|基本編

Excelで複数の条件を指定する方法はいくつかあります。最もポピュラーなのが、フィルタリング機能演算子「&」AND関数OR関数を使うことです。それぞれ利点がありますので、まずは軽く表で見ていきましょう。

フィルタリング機能 特定の範囲内のデータを絞り込むことが出来る
演算子「&」 文字列を結合することが出来る
AND関数 条件1と条件2の両方が正しければTRUEを返すことが出来る
OR関数 条件1と条件2どちらかが正しければTRUEを返すことが出来る
それぞれの詳しい内容と使い方を解説していきます!

Excelのフィルタリング機能とは?

フィルタリング機能を使用することで、データの絞り込み・特定の条件を満たす行や列を表示することが出来ます。フィルタリング機能を使用する手順は次の通りです。実務ではフィルターと呼ぶことが多いので、ここでもフィルターと呼びます。

Excelでフィルターをかける方法
  1. フィルターをかけたい範囲を選択
  2. キーボードの「Ctrl + Shift + L」を同時に押す

上記の手順でフィルターをかけることが出来ます。ちなみにショートカットが使えない場合は、「Alt+D+F+F」を順序良く押してみてください。こちらの方法でもフィルターをかけることが出来ます。

「Alt+D+F+F」はこちら。

他の機能のショートカットを知りたい!という方はこちら。
Excelで定番のショートカットキー64種類

演算子「&」とは?

「&」演算子を使用すると複数の文字列を一つに結合することができます。例えば、”プロ”&”野球”とすると、”プロ野球”と返され文字列を結合することが出来ます。簡単な具体例を見ていきましょう。

演算子「&」の簡単な使い方

今回はA列とB列の文字列を結合してみたいと思います。
式は次の通りになります。

=A1&B1

セルの中の文字列を結合することも出来ますが、
「=”プロ”&B1」→プロ野球
「=”プロ”&” “&B1」→プロ 野球
とダブルコーテーションで文字を直接入力して結合することも出来ます。

ぜひ試してみてください。

AND関数とは?

ExcelのAND関数とは、条件1と条件2の両方が正しければTRUEを返すことが出来る関数です。条件が1つでも合わない場合は、AND関数はFALSEを返します。

AND関数の基本構文

=AND(論理式1,論理式2…)

論理式1、論理式2、…では、評価したい条件や式を指定することが出来ます。これらの条件がすべて正しい場合のみ、AND関数はTRUEを返します。1つでも条件が合わない場合は、FALSEを返します。

AND関数の使い方

=AND(C3>=70, D3>=70)

国語の点数(C列)と数学の点数(D列)が70点以上であればTRUEを返し、どちらか一方あるいはどちらとも70点未満であればFALSEを返す式になります。

どちらか一方でも70点以上であればTRUEを返したい場合はどうするの?
条件が1つでも当てはまる場合にTRUEを返すなら、次に紹介するOR関数を使うといいよ!

OR関数とは?

ExcelのOR関数とは条件1と条件2どちらかが正しければTRUEを返すことが出来る関数です。どちらの条件にも当てはまらない場合はFALSEを返します。ちなみにすべて正しい場合はTRUEを返します。

OR関数の基本構文

=OR(論理式1,論理式2…)

論理式1、論理式2、…では、AND関数と同様に評価したい条件や式を指定することが出来ます。これらの条件が1つでも当てはまる場合、OR関数はTRUEを返します。どちらの条件にも合わない場合は、OR関数はFALSEを返します。

OR関数の使い方

=OR(C3>=70,D3>=70)

国語(C列)と数学(D列)のどちらか一方でも70点以上であればTRUE、両方70点未満であればFALSEを返す式になります。

IF関数とは?複数の条件を設定

IF関数の中にAND関数を入れて複数の条件を指定する方法を解説します。
まずはIF関数の基本構文を軽く振り返りましょう。

IF関数の基本構文

=IF(論理式, 真の場合の値, 偽の場合の値)

論理式 真の場合、偽の場合を決める条件を指定
真の場合の値 論理式が真の場合に返す値を指定
偽の場合の値 論理式が偽の場合に返す値を指定
IF関数について

ExcelのIF関数とは「条件が真の場合にはAを返し、そうでない場合にはBを返す」ことができる便利な関数です。条件には比較演算子や論理演算子など使用することができ、任意の値(AやB)を返すことができます。

IF関数は指定した条件が真の場合に返す値と偽の場合に返す値を指定することが出来ましたね。このIF関数とAND関数やOR関数を組み合わせて使うことで複数条件を指定することが出来ます。それではAND関数とOR関数の組み合わせ方法を見ていきましょう!

もっとIF関数振り返りをしたい方はこちら。
【IF関数・IFS関数】の使い方から具体例までご紹介

IF関数で複数の条件を設定する方法|AND関数

IF関数の論理式でAND関数を使用することで、「条件①と条件②」が両方正しければ真の値を返し、「条件①と条件②」どちらか一方でも正しくない場合は偽の値を返す式を組み立てることが出来ます。

IF関数とAND関数の組み合わせ

=IF(AND(条件A, 条件B), 真の場合の値, 偽の場合の値)

AND(条件A, 条件B)・・IF関数の論理式にAND関数を挿入して条件を入れる
真の場合の値
・・・・・論理式(AND関数)が正しい場合に返す値を指定
偽の場合の値
・・・・・論理式(AND関数)が正しくない場合に返す値を指定

【具体例】IF関数とAND関数の組み合わせ

具体例では、A組とB組の生徒が受けた国語のテストの点数と数学のテストの点数が入力されている表があるとします。国語と数学それぞれの点数が70点以上であれば合格、どちらか一方でも70点未満であれば不合格と成績を付けたいとします。この場合の関数式の構成は次の通りになります。

=IF(AND(国語の点数>=70, 数学の点数>=70 ), “合格”, “不合格” )

この式では、国語の点数と数学の点数が70点以上であれば合格、両方70点未満または一方でも70点未満であれば不合格と返されるように指示しています。わかりやすくするために表を使って解説していきます。

条件は、国語と数学のテスト両方で70点以上の人は合格、どちらか一方でも70点未満があれば不合格とする。

IF関数とAND関数の式

=IF(AND(C3>=70, D3>=70 ), “合格”, “不合格” )

関数式の説明

AND(C3>=70, D3>=70 )
┗条件を国語と数学の点数が70点以上で指定

“合格”
┗論理式(AND関数)が正しければ合格を返すように指示

“不合格”
┗論理式が正しくなければ不合格を返すように指示

2024/05/06時点でAND関数は最大255個の条件を指定できます。

AND関数を使用することでIF関数でも複数の条件を設定することが出来ます。AND関数では条件をすべてがTRUEでないと真の値が返されないため、どちらか一方でもTRUEの場合は真の値を返すならOR関数を使用しましょう!

IF関数とOR関数の組み合わせ方法は次の章で解説していきます。

IF関数で複数の条件を設定する方法|OR関数

IF関数の論理式でOR関数を使用することで、「条件①と条件②」のどちらかがTRUEであれば真の値を返し、「条件①と条件②」どちらもFALSEの場合は偽の値を返す式を組み立てることが出来ます。

IF関数とAND関数の組み合わせ

=IF(OR(条件①, 条件②), 真の場合の値, 偽の場合の値)

AND(条件①, 条件②)・・OR関数をIF関数の論理式に設置する
真の場合の値
・・・・・論理式(OR関数)の条件一つでもTRUEの場合に返す値を指定
偽の場合の値
・・・・・論理式(OR関数)の条件が全てFALSEの場合に返す値を指定

【具体例】IF関数とOR関数の組み合わせ

OR関数の具体例としては、A~B組のクラスメイトが国語のテストと数学のテストを受けた結果が表示されているデータがあるとします。国語・数学どちらかの点数が70点以上であれば合格で、2教科で70点以上がない人には不合格と表示していきます。IF関数とOR関数の構文は次の通りになります。

=IF(OR(国語の点数>=70, 数学の点数>=70 ), “合格”, “不合格” )

上記の式は、国語と数学どちらかが70点以上であれば合格、どちらの教科でも70点未満の場合は不合格を返すように指示しています。わかりやすくするために表を使って解説していきます!

条件は国語・数学のどれかで70点以上があれば合格、2教科どちらとも70点未満であれば不合格とする

IF関数とOR関数の式

=IF(OR(C3>=70, D3>=70 ), “合格”, “不合格” )

OR(C3>=70, D3>=70 )
┗どちらかが70点以上であればTRUEと指示

“合格”
┗論理式(OR関数)がTRUEの場合に合格と返すように指示

“不合格”
┗論理式(OR関数)がFALSEの場合に不合格と返すように指示

2024/05/06時点でOR関数は最大255個の条件を指定できます。

VLOOKUP関数とは?複数の条件を設定

ExcelのVLOOKUP関数とは、特定の範囲から検索キーに基づいてデータを検索し、関連する情報を返すために使用できる関数です。まずはVLOOKUP関数の簡単な振り返りをしましょう。

VLOOKUP関数の基本構文

=VLOOKUP(検索値,検索範囲,列番号,検索方法)

検索値 検索したい値(検索キー)を指定
検索範囲 検索する値が含まれるデータを左側にして範囲選択
列番号 範囲選択の中でほしいデータの列番号を指定
検索方法 基本的に完全一致で検索をするので「0」を指定

VLOOKUP関数は、データ検索と取得やレポート作成、データの整理で活用することができ、Excelを使っている多くの方に好まれている関数です。

イチからVLOOKUP関数の振り返りをしたい方はこちら。
VLOOKUP関数の使い方から具体例までご紹介

VLOOKUP関数で複数の条件を指定|演算子「&」

VLOOKUP関数の検索値でA1セル&B1セルと指定することで、文字列を結合して検索をかけることが出来ます。ただし、検索範囲の中に検索値と同様の文字列を結合した値がなければデータを抽出することが出来ないので気を付けましょう。

VLOOKUP関数で演算子「&」を使用する基本法文

=VLOOKUP(検索値①&検索値②,検索範囲,列番号,検索方法)

上記のように「検索値①&検索値②」と検索値を設置することで複数の条件を指定することが出来ます。では、実際の具体例で見ていきましょう!

【具体例】VLOOKUP関数の検索値に演算子「&」を使用する

具体例では、とある会社の部署名・名前・雇用形態・性別が入力されているデータがあるとします。このデータをもとに任意で入力された部署名と名前の雇用形態と性別を抽出したい場合、VLOOKUP関数に演算子を使っていきます。

具体例を分かりやすく進めるために次のような表を用意しました。

A2セルとB2セルに入力された部署名・名前の方の雇用形態と性別を紐づけていきたいと思います。本来のVLOOKUP関数では、A2セルを検索値にしたりB2セルを検索値にすると思います。しかし、表を見てわかるように部署名と名前は重複しているので、正確なデータを抽出することが出来ません。

この時に使用するのが演算子「&」になります。VLOOKUP関数で「&」を使用する際に気を付けるポイントとして、検索範囲にも結合されたセルがなければデータ抽出することが出来ません。

なので、VLOOKUP関数を組み立てる前にA列の左側に列を追加して、部署名と名前を結合していきましょう。

列を追加して部署名と名前を結合することが出来ましたね。それではVLOOKUP関数を組み立てていきましょう。

VLOOKUP関数の関数式

=VLOOKUP(B2&C2,A5:E10,4,0)

関数式の説明


B2&C2(検索値)
┗部署名と名前を結合して正確なデータを抽出

A5:E10(検索範囲)
┗検索値を同じ結合条件があるA列を先頭にE列まで範囲選択

4(列番号)
┗D2セルは雇用形態を抽出したいので4列目を指定
※E2の性別であれば5列目を指定

0(検索方法)
┗検索方法は完全一致なので「0」を指定

データが紐づいているか確認したいので、B2セルの部署名とC2セルの名前を変更してみましょう。

部署名と名前を変更してもデータを抽出できていますね。
※A列は非表示にすることをオススメします。

INDEX関数とMATCH関数の組み合わせとは?

INDEX関数とは、指定した範囲や配列内のセルの値を取得するための関数です。一方MATCH関数とは、指定された値と一致する範囲内の最初のセルの位置を返す関数になります。INDEX関数とMATCH関数は相性がいいので、組み合わせて使用されることが多いです。まずはINDEX関数とMATCH関数の組み合わせ方法を軽く振り返ってみましょう。

INDEX関数とMATCH関数の組み合わせ

=INDEX(配列, MATCH(検索値, 検索範囲, [比較の方法]))

配列 取得したい値が含まれるデータの範囲または配列を指定
検索値 配列内で検索する値を指定
検索範囲 検索を行うデータの範囲または配列を指定
[比較の方法] 基本的には完全一致の「0」

INDEX関数とMATCHは、VLOOKUP関数よりも柔軟にデータを抽出することができます。Excel中級者~上級者の方が好んで使う関数なので、ぜひあなたも使用してみてください!

INDEX関数とMATCH関数の詳しい解説はこちら。
【indexとmatch】Excelの関数で条件に合うデータ抽出をする

INDEX関数とMATCH関数の組み合わせ|演算子「&」

INDEX関数とMATCH関数でも複数の条件を指定してデータを抽出することが出来ます。複数の条件を指定する際に「&」演算子を使用します。さっそくINDEX関数とMATCH関数で複数の条件を指定する基本構文を見ていきましょう!

複数条件の基本構文

=INDEX(配列, MATCH(検索値①&検索値②, 検索範囲①&検索範囲②, [比較の方法]))

MATCH関数の検索値で「&」を使用して「検索値①&検索値②」と指示することが出来ます。検索値を結合する際には、検索範囲も結合する必要があるので、「検索範囲①&検索範囲②」と指定するようにしてください。それでは、具体例で関数の組み方のコツを学んでいきましょう!

【具体例】INDEX関数とMATCH関数で複数の条件を指定する

具体例では、会社の従業員の情報がまとまったデータを使っていきます。データの内容は部署名や名前、雇用形態、性別が入力されています。ただし、部署名と名前が重複されて入力されているとします。分かりやすくするために次の表を用意しました。

INDEX関数とMATCH関数を組み合わせて、A2セルとB2セルに入力された方の雇用形態と性別をC2セル・D2セルに紐づくようにしていきたいと思います。

INDEX関数とMATCH関数の組み合わせ

=INDEX(C5:C10, MATCH(A2&B2, A5:A10&B5:B10, 0))

関数式の説明

C5:C10(配列)
┗雇用形態のデータを抽出したいのでC5からC10を指定
※D2セルの場合は性別を紐づけるので、D5からD10を指定

A2&B2(検索値)
┗演算子「&」を使って入力される部署名と名前を結合

A5:A10&B5:B10(検索範囲)
┗MATCH関数の検索値で結合した部署名と名前をデータ元でも結合

0([比較の方法])
┗完全一致で検索

VLOOKUP関数は、データ元に列を追加しないといけませんが、INDEX関数とMATCH関数を組み合わせることで、データ元を加工せずに柔軟にデータを抽出することが出来ましたね。是非皆さんんも試してみてください!

まとめ

今回の記事は、Excelで複数の条件を指定してデータ抽出またはデータ検索をする方法をご紹介しました。簡単に振り返ってみましょう。

  1. フィルターでデータ検索
  2. IF関数とAND関数を組み合わせて複数の条件を指定
  3. IF関数とOR関数を組み合わせて複数の条件を指定
  4. VLOOKUP関数で演算子「&」を使用して複数の条件を指定
  5. INDEX関数とMATCH関数の組み合わせで演算子「&」を使用して複数の条件を指定

実務で多くの方に使用される関数やExcelの機能なので、ぜひこの機会に覚えて使いこなしてほしいです!Excelの関数を勉強する際は、関数式の形で覚えるのではなく、関数を意味を理解したほうが個人的に覚えやすいのでオススメです。

今回も最後までお読みいただきありがとうございました!
また次回の投稿で会いましょう!

デスクワーク周りの便利グッズ



(番外編)同僚へのオモシロ贈り物として

スポンサーリンク