目次
あなたは、Excelで異なる配列から複数の条件を一致させるための答えやいくつかのユニークなヒントを探しているなら、あなたは正しい場所に来ている。 Excelで異なる配列から複数の条件を一致させる方法は様々です。 この記事では、適切な例を使用して、それぞれの手順を説明します。 その結果、あなたの目的のためにそれらを簡単に使用できます。 では、記事のメインに進みましょう。を議論しています。
練習用ワークブックをダウンロードする
今回使用したワークブックは下記からダウンロードできますので、ご自身で練習してみてください。
異なる配列から複数の条件をマッチングさせる.xlsx
Excelで異なる配列から複数の条件をマッチングさせる6つの方法
ここでは、Windows OSのExcelで、異なる配列から複数の条件をマッチングさせる6つの簡単な方法を紹介します。 この記事では、すべてわかりやすい図解入りで詳しく解説しています。 私が使用したのは Microsoft 365版 ただし、お客様の環境によっては、他のバージョンをお使いいただくことも可能です。 この記事の一部がお客様のバージョンで動作しない場合は、コメントを残してください。
このデータセットには,衣料品に関する情報が含まれており,以下の4つの列がある. 品名 は、その カラー は、その サイズ を、そして 価格 をご覧ください。
1.INDEX関数とMATCH関数による配列式の使用
ここでは、フェッチしました。 価格 の 製品 ( セルB11 )に基づいて、製品の 名称 , 色です。 と サイズ
📌ステップス。
- そのためには、まず 商品名 , 色 と 大きさ 細胞内 G5 , G6 , G7
- 次に、次の数式をセルに挿入します。 G8 を取得することができます。 価格 その基準を満たした製品に対して
=IFERROR(INDEX(E5:E20,MATCH(1,(G5=B5:B20)*(G6=C5:C20)*(G7=D5:D20),0)),"No Match")
🔎 フォーミュラの内訳。
✅ 乗算の演算 :
→ (g5=b5:b20)*(g6=c5:c20)*(g7=d5:d20) = =となる。 (シャツ=商品欄)*(インディゴ=色欄)*(L=サイズ欄) = {false; false;false;false;false;false;false;true;true;true;false}*(g6=c5:c20)*(g7=d5:d20)}.
それぞれの列に対して値を検索し、それに応じてTRUE/FALSEの値を返します。
→ {0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0}
があります。 乗算演算子 (*) は、これらの値を0と1に変換し、目的の出力以外の値を0に変換する乗算演算を行う。
✅ MATCH機能 操作方法 :
→ match(1,(0;0;0;0;0;0;0;0;0;0;0;1;0;0;0),0)) → 13
この関数は、変換された範囲から値1を探し、その位置を返す。
✅ INDEX機能 操作方法 :
→ IFERROR(INDEX(E5:E20,13), "No Match") → 50
の値を返す。 13段目 を出力する。 一致するものがない場合は INDEX 関数が返す #該当なし このようなエラーの処理と人間が読めるメッセージの表示には、 " マッチングなし " というのがあります。 IFERROR関数 が使われています。
続きを読む Excel INDEX MATCH(複数条件付き)(4つの適切な例
2.INDEX関数とMATCH関数の非配列式の使用
ここでは、前回と同じ作業を行おうとしました。 計算式も同じですが、追加で INDEX 関数と、選択された非配列型である INDEX 関数を使用します。
📌ステップス。
- そのためには、まず 製品 という名前を付けます。 の色になります。 と 大きさ を、それぞれの細胞内で
- 次に、次の式を挿入します。 セルG8 をクリックすると、その条件を満たす製品の価格が表示されます。
=IFERROR(INDEX(E5:E25,MATCH(1,INDEX((G5=B5:B25)*(G6=C5:C25)*(G7=D5:D25),0,1),0)),"No Match")
🔎 数式の説明。
今回の新機能の主な目的 INDEX 関数は,直前の配列式を非配列式に変換するものである Excelの配列関数に慣れていない人でも実装できるように、新しい INDEX 関数は,乗算処理後に返される配列を処理するため,配列式は不要です.
続きを読む ExcelでINDEX MATCHの複数条件(配列式を使用しない場合)
類似の読み物
- Excelで3つの基準を持つINDEX MATCH(4つの例)
- ExcelのINDEX関数とMATCH関数によるSUMIF
- Excelで複数行のインデックスマッチの合計を行う(3つの方法)
- 異なるシートで複数の条件を指定してINDEX MATCHする(2つの方法)
- ExcelでINDEX、MATCH、COUNTIF関数を使用して複数条件を指定する
3.Excelで異なる水平・垂直配列から複数の条件を満たすINDEX MATCH式
3.1 列の縦方向へのルックアップ
上記のこれまでの方法とは別に、組み合わせることができます。 INDEX と MATCH 関数を使って、複数の条件で水平・垂直方向のルックアップを行うことができます。 以下の手順で行います。
📌ステップス。
- 最初は、「」をクリックします。 セルC18 を入力し、次の計算式を挿入します。
=INDEX(D5:D14,MATCH(1,(B5:B14=C16)*(C5:C14=C17),0))
- その後、ヒット 入力
その結果、希望する営業マンに希望通りの結果を出すことができます。
3.2 行の水平方向のルックアップ
を組み合わせることも可能です。 INDEX と MATCH の機能を利用して、以下の手順で複数の条件を横並びで検索することができます。
📌ステップス。
- まず、以下をクリックします。 セルC10 .
- 続いて、以下の数式を挿入して 入力
=INDEX(C6:L6,MATCH(1,(C4:L4=C8)*(C5:L5=C9),0))
このように、水平方向のルックアップで目的の人物の部署を得ることができるのです。
4.異なるExcelシートの配列から複数の条件をマッチングさせるINDEX MATCH式
ビジネスファームで仕事をしているとき、上司から別のワークシートから異なる販売員の売上金額を求めるという課題を与えられたとします。 この課題は、以下の方法で簡単に実行できます。 INDEX MATCH の式で表されます。
- 以下の例では "ID" , "ファーストネーム" そして "セール" は任意に与えられる。 "セール" 特定の "ID" と、特定の "ファーストネーム" という名前のワークシートを作成します。 "データ" .
- 列を含む新しいワークシートに別のテーブルを作成する "ID" , "ファーストネーム" そして "セール" この新しいワークシートで、結果を求めます。 このワークシートに次のような名前を付けます。 "M01" .
- 次に、「M01」ワークシートのセル D5 に次の数式を挿入します。
=INDEX(Data!$D$5:$D$15,MATCH(1,('M01'!B5=Data!$B$5:$B$15)*('M01'!C5=Data!$C$5:$C$15)),0))
- では、残りのセルにも同じ数式を適用してみましょう。
- このように、複数の条件を使って、異なるワークシートから値を探し出すことができました。
5.COUNTIFS関数を使って、異なる配列から複数の条件をマッチングさせる
を使用することができます。 COUNTIFS機能 を使用して、Excelで複数の条件をマッチングさせることができます。 その場合、Excelの中で アンド 異なる列の条件に対するロジックと オア ロジックを、同じ列の基準に対して実行します。
5.1 複数列の条件に対するANDロジックの使用
アンド ロジックは、真の値を得るためには、すべての条件に一致する必要があることを意味します。 ここでは、行の総数を 名称 , カラー そして サイズ の基準で判断しています。
📌ステップス。
- まず 製品 , 色 そして 大きさ 範囲のそれぞれのセルで F5:F7 .
- そして、次の数式を セルF8 を使用して、与えられた条件に一致するセルの数を取得します。
=COUNTIFS(B5:B20,F5,C5:C20,F6,D5:D20,F7)
🔎 フォーミュラの内訳。
=COUNTIFS(B5:B20,F5,C5:C20,F6,D5:D20,F7) → COUNTIFS(商品欄、シャツ、色欄、インディゴ、サイズ欄、L)→ 1
- それぞれの列の値を検索し、すべての条件に一致した場合にカウントを増やします。
- すべての条件が一致する列は1つだけです。 ですから、それは望ましい出力です。
- このように、異なる配列に対して与えられた条件に合致するセル数を得ることができます。
続きを読む Excelで行や列の複数の条件にインデックスを一致させる
5.2 同一列の複数条件に対するORロジック
オア ロジックは、1つの基準が一致すれば 真 が返されます。 ここでは、色値が""である行の総数を計算しています。 赤色 " と " 黄色 ".
そのためには、以下の数式を セルF4 を使用して、与えられた条件に一致するセルの数を取得します。
=SUM(COUNTIFS(C5:C20,{"Red", "Yellow"})))
🔎 フォーミュラの内訳。
→ SUM(COUNTIFS(C11:C31,{"Red", "Yellow"})) → SUM(COUNTIFS(色列,{"赤", "黄"}))
COUNTIFS機能 は、それぞれのカラムの値を検索し、条件に一致するものがあればカウントを増やします。 赤」が3つ、「黄」が3つあるため COUNTIFS 関数は 3,3 を返します。
→ SUM(3,3) → 6
があります。 SUM機能 は2つの値を加算し、目的の出力を返します。
- このように、赤と黄色の製品の合計量を計算しました。
続きを読む Excelで複数条件のINDEX-MATCH関数で合計する
6.FILTER機能を使う
その名の通り FILTER機能 は、特定の条件に基づいてセル範囲をフィルタリングします。 このメソッドでは、複数の関数を含む数式を書くことはありません。 フィルター 関数だけで十分です。 価格 の 製品 ( セルB11 )に基づいて、製品の 名称 , 色です。 と サイズ
📌ステップス。
- まず 製品 , 色 そして 大きさ 範囲のそれぞれのセルで F5:F7 .
- そして、次の数式をセルに挿入します。 F8 をクリックすると、すべての条件に一致する製品の価格が表示されます。
=FILTER(E5:E20,(B5:B20=G5)*(C5:C20=G6)*(D5:D20=G7),"No Match")
🔎 フォーミュラの内訳。
✅ 掛け算の操作。
→ (B5:B20=G5)*(C5:C20=G6)*(D5:D20=G7) = (商品欄 = シャツ)*(色欄 = インディゴ)*(サイズ欄 = L) = {false ;false;false;false;false;false;false;true;true;true;false}*(c5:c20=g6)*(d5:d20=g7)}.
それぞれのカラムの値を検索して、その値を返します。 TRUE/FALSE の値は、それに従っています。
→ {0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0}
があります。 乗算演算子 (*) は、これらの値を0と1に変換し、目的の出力以外の値を0に変換する乗算演算を行う。
✅ FILTER機能。
→ FILTER(E14:E34,{0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0},”No Match”) = FILTER(価格列 {0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0}, "No Match") = 50
があります。 フィルター 関数は、価格列をインデックス番号で検索し、対応するインデックス値が1であるセル値(この場合、50)を返します。
- こうして、与えられた複数の条件に合致する商品の価格を計算した。
注
この記事を書いている時点では フィルター 関数は、Excel 365でのみ利用可能です。 そのため、他のバージョンのExcelを使用している場合は、他の方法を確認する必要があります。
結論
この記事では、Excelで異なる配列から複数の条件を一致させる方法を見つけました。 あなたの問題の解決策を見つけることができたことを願っています。 何か提案や質問があれば、コメントを残してください。 ありがとうございました。