2023年8月18日【ID:0】
メンバー限定
【Excel】各商品の最終購入日を表から抽出する
以下のような各商品の購入数を管理している表と、各商品の最終購入日を抽出している表があります。
この最終購入日を抽出する方法について解説していきます。
抽出する方法について2通りで解説していきます。
1つ目は「XLOOKUP関数で抽出する方法」、2つ目は「VLOOKUP関数で抽出する方法」になります。
一番簡単な方法は1つ目の方法ですが、XLOOKUP関数は比較的新しい環境(2021以降)でないと扱うことができません。
そのため、対応していない場合は、2つ目の方法で実現する必要があります。
1.XLOOKUP関数で抽出する方法
VLOOKUP関数やMATCH関数は、検索値が上から先に見つかった位置の情報を返します。
※VLOOKUP関数の使い方は、後半で解説しています。
そのため、下に行くほど最新データになる表で、最新の情報のみを抽出することが難しいです。
上記の例の場合、最新情報が必要だとすると、理想的な値は以下のようになります。
XLOOKUP関数では、このような値を簡単に求めることができます。
XLOOKUP関数の使い方は以下になります。
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
// 検索値:検索したい値
// 検索範囲:検索したいセルの範囲や配列
// 戻り範囲:抽出したいセルの範囲や配列
// [見つからない場合]:検索値が検索範囲の中から見つからない場合に表示する値
// → 省略時は見つからない場合にエラーを表示
// [一致モード]:以下の中から検索方法を選択
// 0:完全一致(省略時)、-1:完全一致または次に小さい項目、1:完全一致または次に大きい項目、2:ワイルドカード文字との一致
// [検索モード]:以下の中から検索方法を選択
// 1:先頭から末尾へ検索(省略時)、-1:末尾から先頭へ検索、2:バイナリ検索(昇順の検索範囲)、-2:バイナリ検索(降順の検索範囲)
XLOOKUPの引数には[検索モード]があり、ここで「末尾から先頭への検索」を指定することで、最新情報を抽出することができます。
また、VLOOKUP関数とは異なり、「検索したい項目が表の一番左にある必要がある」などの縛りがありません。
XLOOKUP関数を用いて求めた数式は以下になります。
=XLOOKUP(F3,C:C,B:B,"",0,-1)
// データの増減に対応するため、「C:C」などと列全体を指定しています
2.VLOOKUP関数で抽出する方法
次にXLOOKUP関数が使えない環境でも実現できるように、VLOOKUP関数で実現する方法について解説していきます。
VLOOKUP関数の使い方は以下になります。
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
// 検索値:検索したい値
// 範囲:検索したい項目が一番左の列である抽出対象の列を含む範囲を指定
// 列番号:範囲から抽出したい列が左から何番目なのかを指定
// [検索方法]:以下の中から検索方法を選択
// TRUE:近似一致(省略時)、FALSE:完全一致
VLOOKUP関数は、検索したい項目が抽出対象の列より左にある必要があるため、以下の表では抽出することができません。
仮に、[日付]と[商品名]の項目が逆だったとしても、VLOOKUP関数は「検索値が上から先に見つかった位置の情報」を返すので正しく抽出することができません。
=VLOOKUP(F3,B:C,2,FALSE)
続きはIT予備メンバー限定です。
メンバー限定コンテンツになります。
IT予備メンバーページと連携することで内容を確認することができます。
メンバーとは
すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。
ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます