S036|複数シートから検索して抽出【XLOOKUP関数、VLOOKUP関数、VSTACK関数】|Excel関数によるデータ抽出方法

期間や年代など完全一致でない複数の検索値で該当データを抽出する場合は、1つの文字列にできない。このような場合はXLOOKUP/LOOKUP関数の引数[検索範囲]に条件式を使って抽出しましょう。

目的

複数条件で検索抽出

使用する関数
目次

例題1|複数条件で検索抽出する

  1. 「料金」を求めるセル(B4セル)を選択し、「=XLOOKUP(」と入力する。
  2. [検索値]…「1」と入力する。
  3. [検索範囲]…検索値の「期間」と「区分」が含まれるセル範囲を求める数式「(A7:A12<=B2)*(B7:B12=B3)」を入力する。
  4. [戻り範囲]…抽出する「料金」のセル範囲を選択する。
  5. [見つからない場合]…[””](空白)を入力する。
  6. [一致モード]…「-1」と入力する。
  7. [検索モード]…省略して、「Enter」キーで数式を確定する。

【数式】=XLOOKUP(1,(A7:A12<=B2)*(B7:B12=B3),C7:C12,””,,-1)

使用するExcel関数

数式の解説

「(A7:A12<=B2)*(B7:B12=B3)」の数式は、「(A7:A12<=B2)」「(B7:B12=B3)」の2つの条件式を満たすと「1*1」で「1」を返し、満たさないと「0*0」「1*0」「0*1」などになるため「0」が返される。XLOOKUP関数の引数[検索範囲]に組み合わせて、「=XLOOKUP(1,(A7:A12<=B2)*(B7:B12=B3),C7:C12,“”,,-1)」の数式を作成すると、「1」に対応する「料金」が抽出される。結果、「期間」と「区分」に該当する「料金」が抽出される。

Excelデータダウンロード

以下のリンクを右クリックし、Excelデータをダウンロードください
Excel-sample1.xlsx

例題2|複数条件で検索抽出する


  1. 「料金」を求めるセル(B4セル)を選択し、「=LOOKUP(」と入力する。
    [検査値]…「1」と入力する。
    [検査範囲]…検索値の「期間」と「区分」が含まれるセル範囲を求める数式「0/(A7:A12<=B2)/(B7:B12=B3)」を入力する。
    [対応範囲]…「料金」のセル範囲を選択したら、「Enter」キーで数式を確定する。

【数式】=LOOKUP(1,0/(A7:A12<=B2)/(B7:B12=B3),C7:C12)

使用するExcel関数

数式の解説

「0/(A7:A12<=B2)/(B7:B12=B3)」の数式は、「(A7:A12<=B2)」「(B7:B12=B3)」の2つの条件式を満たすと「0/1/1」で「0」を返し、満たさないと「0/0/0」「0/1/0」「0/0/0」などになるため「#DIV/0!」が返される。LOOKUP関数の引数[検査値]に「1」を指定して「=LOOKUP(1,0/(A7:A12<=B2)/(B7:B12=B3),C7:C12)」の数式を作成すると、「1」に対応する「料金」が抽出される。結果、「期間」と「区分」に該当する「料金」が抽出される。

Excelデータダウンロード

以下のリンクを右クリックし、Excelデータをダウンロードください
Excel-sample2.xlsx

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次