目次
大きなデータの配列を扱うとき、あるユニークな値やテキストを見つける必要があるが、そのための特定の識別子がない、という状況に陥ることがあります。 この場合、いくつかの条件を指定して垂直または水平ルックアップで結果を見つけます。 しかし、エキスパートユーザーは、これらの関数を使う代わりに、通常は INDEX MATCH の組み合わせ。 INDEX と MATCH の機能が優れています。 ブイルック または HLOOKUP いろいろな意味で INDEX MATCH 式で値を調べることができます。 たげんてき を別のシートで実行し、その結果を別のワークシートで返します。 今日は、この記事で 複数条件でのINDEX-MATCH式 を別のシートで表示します。
練習用ワークブックをダウンロードする
以下のExcelワークブックをダウンロードしていただくと、より理解が深まり、ご自身で練習することができます。
異なるシートに複数の条件を設定してNDEX-MATCHを適用する.xlsxExcelで異なるシートに複数の条件を指定してINDEX MATCH式を適用する2つの方法
があります。 INDEX-MATCH を持つデータを探す場合、この式は非常に効率的です。 列と行の両方の複数条件 複数の条件を持つデータを異なるシートで検索する場合、2つの特徴的なアプローチがあります。 そこで、1つずつ調べてみましょう。
ここでは Microsoft Excel 365 のバージョンと同じですが、お客様のご都合に合わせてご利用ください。
1.列のみの複数条件によるINDEX MATCH式
わかりやすくするために 月次売上報告 このデータセットには、特定の組織の ID , 氏名(フリガナ と、それぞれの 売上高 ちゅうとはんぱで B , C そして D に対応する。
を計算する仕事を上司から命じられた場合を考えてみましょう。 売上高 このワークシートを使って、様々な営業担当者の金額を簡単に計算することができます。 INDEX-MATCH 配列でも非配列でも可能です。 では、実際にやってみましょう。
1.1 配列式の使用
この場合、以下を求める必要があります。 売上高 特定の ID と、特定の 氏名(フリガナ を別のワークシートから取得します。 このワークシートの名前は " データセット " では、以下の手順で慎重に進めてください。
📌 ステップス
- まず、新しいワークシートに列を含むデータ範囲を作成します。 ID , 氏名(フリガナ そして 売上高 この新しいワークシートでは、結果を D5:D7 の範囲内で、このワークシートに名前を付けます。 アレイ .
では、次に INDEX-MATCH の計算式で求めることができます。 売上高 の量になります。
ジェネリック INDEX-MATCH のように、複数の条件を持つ数式は、以下のようになります。
=INDEX(return_range, MATCH(1, (criteria1=range1) * (criteria2=range2) * (...), 0)) どこでreturn_range は、値が返される範囲である。
クライテリア1 , クライテリア2 は満たすべき条件である。
レンジ1 , レンジ2 は,必要な条件を検索するための範囲である。
- このとき、セルを選択する D5 を入力し、次の計算式を挿入します。
=INDEX(Dataset!$D$5:$D$15,MATCH(1,(Array!B5=Dataset!$B$5:$B$15)*(Array!C5=Dataset!$C$5:$C$15),0))
これです。 - return_range でございます データセット!$D$5:$D$15 をクリックします。 データセット ワークシートで、データ範囲を選択します。
- クライテリア1 でございます アレイ!B5 ( M-01 ).
- クライテリア2 でございます アレイ!C5 ( トム ).
- レンジ1 でございます データセット!$B$5:$B$15 をクリックします。 データセット ワークシートを選択し ID の欄があります。
- レンジ2 でございます データセット!$C$5:$C$15 をクリックします。 データセット ワークシートを選択し 氏名(フリガナ の欄があります。
- ルックアップバリュー に対して MATCH機能 でございます 1 は、各条件が TRUE の場合の行の相対位置を提供します。 配列内に 1 のインスタンスが複数ある場合は、最初の結果の位置が取得されます。
- マッチタイプ でございます 0 .
- その後 エンタメ .
注 これは配列式なので、必ず Ctrl + Shift + Enter 代わりに エンタメ Excel 365 以外のバージョンを使用している場合は、中括弧で数式を囲まないでください。 Excel が自動的に配列の数式に中括弧を追加します。 .
- 現在、カーソルをセルの右下隅に持っていき D5 .実は、これは フィルハンドル ツールを使用します。
- その結果、これをダブルクリックする。
- その結果、次のセルに数式がコピーされ、そのセルにも結果が表示されるようになります。
続きを読む エクセルで特定のデータを選択する方法(6つの方法)
1.2 配列の公式を使わない場合
先ほどのケースは、配列式を使わなくてもできる。 その方法を見てみよう。
📌 ステップス
- まず、先ほどの例のようなテーブルを作ります。
ここでは、配列でない INDEX-MATCH まず、その一般的な形を見てみましょう。
INDEX(return_range, MATCH(1, INDEX((criteria1=range1) * (criteria2=range2) * (...), 0, 1), 0)を参照)- 2つ目は、セル D5 と入力し、次の計算式を入力します。
=INDEX(Dataset!$D$5:$D$15,MATCH(1,INDEX(('Non Array'!B5=Dataset!$B$5:$B$15)*('Non Array'!C5=Dataset!$C$5:$C$15),0,1),0))
どこで - return_range でございます データセット!$D$5:$D$15 をクリックします。 データセット ワークシートで、データ範囲を選択します。
- クライテリア1 でございます 非配列」!B5 ( L-02 ).
- クライテリア2 でございます 非配列」!C5 ( ローズ ).
- レンジ1 でございます データセット!$B$5:$B$15 をクリックします。 データセット ワークシートを選択し ID の欄があります。
- レンジ2 でございます データセット!$C$5:$C$15 をクリックします。 データセット ワークシートを選択し 氏名(フリガナ の欄があります。
- ルックアップバリュー に対して MATCH機能 でございます 1 .
- マッチタイプ でございます 0 .
- 次に エンタメ キーで結果を得ることができます。
続きを読む Excel インデックス 単一/複数の条件と単一/複数の結果のマッチング
類似の読み物
- Excel INDEX MATCH セルにテキストが含まれている場合
- Excelで3つの基準を持つINDEX MATCH(4つの例)
- Excel INDEX MATCHで1つのセルに複数の値を返す
- Excelでワイルドカードを使用したINDEX MATCHの複数条件 (完全ガイド)
- [修正しました!】ExcelでINDEX MATCHが正しい値を返さない(5つの理由)
2.行と列に複数の条件を設定したINDEX MATCH式
のユニークな特徴のひとつは INDEX-MATCH の式は、異なるシートの行と列の値を同時に検索することができます。 これから調べてみましょう。
上司から、以下のようなデータセットを渡されたとしよう。 名称 , ID との一部販売。 売上高 月別に ヤン , マー , 5月 , ジュル と セプ このワークシートの名前は " データセット2 ".
現在、あなたは 売上高 を、別のシートに書いてみましょう。
📌 ステップス
- 最初に、別のシートに列を含む別のテーブルを作成します。 名称 , ID , 月 そして、このシートに名前を付けます。 行-列 を取得する必要があります。 売上高 与えられた基準で
その結果 INDEX-MATCH このシートの中で、複数の条件を持つ数式を作成します。 この数式の形式は以下のようなものです。
=INDEX(table_array, MATCH(vlookup_value, lookup_column, 0), MATCH(hlookup_value1 & hlookup_value2, lookup_row1 & lookup_row2, 0))- 次に、セルに移動します E5 を呼び出して INDEX機能 .
=INDEX(
- その後、" "に移動してください。 データセット2 " シートです。
- 後で、選択します。 table_array というものである。 C5:G19 の範囲にあります。 データセット2 のワークシートがあります。
- 次に、次のように完全な式を完成させます。
=INDEX(Dataset2!$C$6:$G$20,MATCH('Row-Column'!B5,Dataset2!$B$6:$B$11,0),MATCH('Row-Column'!C5& 'Row-Column'!D5,Dataset2!$C$4:$G$4&Dataset2!$C$5:$G$5,0)))を実行すること。
どこで - VLOOKUP_VALUE でございます '行-列'!B5 ( K-01 ). ルックアップカラム でございます データセット2!$B$6:$B$11 .
- hlookup_value1 でございます '行-列'!C5 ( トム ).
- hlookup_value2 でございます '行-列'!D5 ( 5月 ).
- lookup_row1 でございます データセット2!$C$4:$G$4 .
- ルックアップ2 でございます データセット2!$C$5:$G$5 .
- マッチタイプ でございます 0 .
したがって、下の画像では選択された行と列を見ることができます。
- 最後に エンタメ .
- さらに フィルハンドル ツールを使って、列の下のセルに完全な結果を得ることができます。
日付範囲に複数の条件を指定してINDEX MATCH式を適用する方法
ある商品のある日付の価格を抽出することができます。
ここでは、商品のリストとその開始期間、終了期間、それに対応する単価が示されています。
の価格を確認したいとします。 アイスクリーム において 02-10-22(月日年) このように、与えられた日付が提供された期間内であれば、任意の空白セルに価格が抽出されます。 では、早速、その方法を見てみましょう。
📌 ステップス
- まず、出力範囲を D19:D21 の範囲で見つけることにします。 3 ニーズに合わせてカスタマイズできます。
- 二次的に、セルへ D19 と入力し、次の配列式を入力します。
=INDEX($E$5:$E$16,MATCH(1,(($B$5:$B$16=B19)*($D$5:$D$16>=C19)*($C$5:$C$16<=C19)),0))
- その後 エンタメ .
を見ることができます。 #該当なし 細胞内 D21 というのは、セルの日付が C21 が、データセットに記述された期間内にない場合。
このトピックに関するより多くのテクニックや例をお知りになりたい場合は、記事をご覧ください。 日付範囲に複数の条件を指定してINDEX MATCHを使用する方法 .
複数条件でのINDEX MATCHの賢い代替方法
のユーザーであれば オフィス365 を使用することで、初めてこの関数の恩恵を受けることができます。 では、この関数を使用するために FILTER機能 そのために、以下のガイドラインを遵守してください。
📌 ステップス
- まず、次のようなワークシートを作成します。 方法1 .
- 次に、セルを選択します。 D5 を入力し、次の計算式を挿入します。
=FILTER(Dataset!$D$5:$D$15,(Dataset!$B$5:$B$15=Alternative!B5)*(Dataset!$C$5:$C$15=Alternative!C5))
従って、この式は従来のものより適用しやすく、理解しやすくなっています。 説明は、以下のページにあります。 複数条件でのINDEX MATCH の記事をご覧ください。
- 2つ目は エンタメ キーになります。
クイックノート
⏩ その INDEX MATCH は通常、配列の式です。 ですから、以下のように ctrl+shift+エンター 代わりに エンタメ をクリックすると結果が表示されます。
残りのセルにも同じ数式を適用する場合は、絶対セル参照( $ を押すだけです。 F4 をクリックすると、数式に適用されます。
結論
の使い方を説明します。 INDEX MATCH を、Excel の異なるシートに複数の条件を設定して、簡単かつ簡潔に作成することができます。 さらに、以下の資料も忘れずにダウンロードしてください。 実践編 ファイル. この記事をお読みいただきありがとうございました。 参考になりましたでしょうか。 ご不明な点やご意見がございましたら、コメント欄にてお知らせください。 弊社ホームページをご覧ください。 Exceldemy Excelのワンストップ・ソリューション・プロバイダーである日本エクセル協会にお問い合わせください。