2024年12月25日【ID:0】
【Excel】一致データの先頭と末尾を抽出
以下のように、指定した表の指定した項目の値が、指定した値と一致する先頭のデータと末尾のデータを抽出する方法について解説していきます。
抽出方法
抽出するには、『XLOOKUP関数』を活用します。
XLOOKUP関数の使い方は、以下になります。
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
// 検索範囲で検索値と一致した位置と同じ位置の戻り範囲のデータを抽出
// 検索値:検索対象の値
// 検索範囲:検索して位置情報を取得する範囲
// 戻り範囲:取得した位置情報から抽出する範囲
// [見つからない場合]:検索結果が存在しない場合に表示する値 ※省略時は「#N/A」になる
// [一致モード]:検索方法(0:完全一致、-1:以下、1:以上、2:ワイルドカード文字との一致)※省略時は「0:完全一致」が指定される
// [検索モード]:検索順序(1:先頭から末尾へ検索、-1:末尾から先頭へ検索、2:バイナリ検索(昇順で並べ替え)、-2:バイナリ検索(降順で並べ替え))※省略時は「1:先頭から末尾へ検索」が指定される
XLOOKUP関数の引数には「検索モード」が存在します。
この引数を指定することによって、「先頭から末尾へ検索」と「末尾から先頭へ検索」を切り替えることができます。
そのため、先頭のデータを抽出したい場合は、以下のように「検索モード」を「1」にすることで抽出できます。
=XLOOKUP(B3,B7:B21,C7:D21,"",0,1)
// 検索値:B3(商品名)
// 検索範囲:B7:B21(商品名の項目全体)
// 戻り範囲:C7:D21(価格と更新日の項目全体)
// 見つからない場合:""(何も表示しない)
// 一致モード:0(検索値と一致するデータを抽出)
// 検索モード:1(一致する先頭のデータを抽出)
末尾のデータを抽出したい場合は、以下のように「検索モード」を「-1」にすることで抽出できます。
=XLOOKUP(B3,B7:B21,C7:D21,"",0,-1)
// 検索値:B3(商品名)
// 検索範囲:B7:B21(商品名の項目全体)
// 戻り範囲:C7:D21(価格と更新日の項目全体)
// 見つからない場合:""(何も表示しない)
// 一致モード:0(検索値と一致するデータを抽出)
// 検索モード:-1(一致する先頭のデータを抽出)