XLOOKUP関数で年齢に基づくライフステージを効率的に取得する方法 -DL有-
ExcelのXLOOKUP関数は、データ検索と抽出に非常に便利な関数です。
今回は、一致モードを-1に指定する方法について説明します
本記事はXLOOKUP関数の応用編になります。
XLOOKUP関数のお作法に関しては
『XLOOKUP関数の使い方 – 縦横無尽に検索し、一致するデータとその関連情報を取得 -DL有』
を拝読ください
XLOOKUP関数の活用事例
サンプルデータ
「対象者リスト」に対して、
「ライフステージの定義データ」から、ライフステージ(若年層や中年層、老年層など)を取得する
ことを考えます。
XLOOKUP関数の一致モード-1の使用例
XLOOKUP関数の一致モードを-1に設定すると、
検索値が検索範囲の中で小さい最初の値を返す。
これは、データが昇順にソートされている場合にのみ有効です。
XLOOKUP関数の式
まずは、”田中太郎”の年齢34の場合のXLOOKUP関数の式です。
=XLOOKUP(C17, $B$3:$B$13, $C$3:$C$13, , -1)
“田中太郎”の年齢34がライフステージの定義データ($A$12:$A$22) のどこに位置するかを検索し、
その「ライフステージ区分」($B$12:$B$22)を返します。
一致モードを-1に設定しているため、年齢34は年齢列に存在しないため、最も近い小さい値(30)のライフステージ区分(青年層)が返されます。
関数式を行方向に、データの数だけコピーすれば完成です。
[関数の引数]ダイアログボックスを使用した場合
関数式を行方向に、データの数だけコピーすれば完成です。
一致モード-1の意味
XLOOKUP関数の一致モードは、検索値が検索範囲内に存在しない場合の挙動を制御します。
一致モードが-1であるということは、検索値より小さい最初の値を返すという意味です。
これは、データが昇順にソートされている場合にのみ有効です。
この一致モードは、範囲指定の検索や、特定の閾値を超えた場合の値を取得するのに便利です。
XLOOKUP関数の一致モードを-1に設定する際の注意点
XLOOKUP関数の一致モードを-に設定する際は、注意点が2つある
- 第2引数の[検索範囲]が降順(大きい値から小さい値へと並べられた順序)である必要
- 昇順のデータセットでは、期待通りの結果を得られない可能性が高い
- 検索範囲の上限値が空セル
- 理由は、範囲以上の値でも強引に取得するため
- 文字列の検索は控える
- 文字列の大小比較はアルファベット順で行われるため、期待通りの結果を得られない可能性が高い
最後に
XLOOKUP関数の一致モードを-1に指定することで、範囲指定の検索や、特定の閾値を超えた場合の値を取得するのに便利です。
一方、一致モードを指定しない場合は、完全一致検索が行われ、検索値が検索範囲内に存在しない場合、エラーが返されます。
これらの機能を理解し、適切に使用することで、Excelのデータ分析がより効率的になります。
解答付きサンプルデータ
解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。
—————————————
参考記事
—————————————
原理原則に関する記事
Excel関数自体の原理原則に関する記事です。こちらを参照すると、個別の関数の理解がさらに深まるでしょう。
構文に関する記事
Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。
ダイアログボックスの使い方に関する記事
Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。
参照形式に関する記事
関数式をコピーする時はどうしたらいい?
$マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。