ExcelのOFFSET関数とMATCH関数

その他
その他

OFFSET関数とMATCH関数を組み合わせて、検索値より左にあるデータを取得する方法を紹介します。

検索値より左のデータを取得する

VLOOKUP関数は=VLOOKUP(検索値,検索範囲,検索範囲の左端から何列目か,検索の型)で、必ず検索値が検索範囲の一番左に位置していなくてはいけません。

上記のように商品Noをキーにコースや単価を取得したい場合、コースはVLOOKUP関数で取得できますが、A表の単価は商品コードの左にあるためVLOOKUP関数では取得できません。このような場合はOFFSET関数とMATCH関数を組み合わせることで解決できます。

OFFSET関数とは

OFFSET関数とは基準のセルから指定し列数と行数分をずらした先のセルを参照する関数です。
=OFFSET(基準セル,ずらす行数,ずらす列数)
*行数は正の数値を入れると下方向、負(-)の数値を入れると上方向を意味します
*列数は正の数値を入れると右方向、負(-)の数値を入れると左方向を意味します

これを使ってクイズの単価を求めると
=OFFSET(B8,MATCH(E9,B:B,0)-8,-1)
B8セルを基準に、E9(商品No3)がB列で何番目にくるかを算出しB8セルより上(8)をマイナスして行番号を指定、単価はB8セルより一つ左にありますのでー1を指定します。

正しい単価を取得できました。

POINT

OFFSET関数とMATCH関数を組み合わせることで、基準となるデータより左にある項目のデータを取得することが可能です。但し、式が少々複雑になります。マスタを作成する際にはキーになりそうな項目を一番左にしておくと、VLOOKUPだけで対応が可能なため、データの作り方も考慮しましょう。

menter_logo

[法人向け]
文系DX人材育成なら『MENTER』

「うちの会社はITリテラシーが低い...」
「DXを行うには人材育成から始めなくては...」
「自動化やAI理解できる社員が増えたらな...」

デジタルに強い人材育成を行うオンライン学習サービス『MENTER』が、そんなお悩みを解決します!

・マンガで楽しくインターネットについて学習
・ショートカットキーからAIの設計まで
・大手企業の導入事例/成功事例あり
・DX人材育成について相談/事例集請求/無料トライアル/ITリテラシー無料診断可能

MENTER紹介ページを‍見る
お問い合わせは ‍こちら

ITスキルアップ相談室

コメント

タイトルとURLをコピーしました