先週はセル範囲を特定し値を求める関数としてINDEX関数を使うケースを
ご紹介しました。
今回はINDEX関数の代わりにOFFSET関数を使う方法をご紹介します。
◆こんな時
検索値から左側にある値を取得したい!
◆解決ポイント
OFFSET、MATCH関数を組み合わせて使用します
◆使用方法
OFFSET関数は基準となるセル位置を最初に指定してから行、列の変位を
指定することで基準セルとの相対範囲を決定できる関数です。
使い慣れてくるとINDEX関数より柔軟に利用できるので便利です。
例:セルA1を基準としてA1から2行下のA3の値は次の式で求められます。
=OFFSET(A1,2,0) ・・・ 簡単でしょ。
それでは先週と同じ表を使ってF列の順位がC列と一致する行の名前を取得する式を下記に記述します。
まず値を取得する行を求める式をMATCH関数で記述します。
これは先週と同じです。
行:=MATCH(F2,$C$2:$C$5,0)= 1
この式でF2の順位(1位)が C2:C5 の範囲の1行目であることが求められます。
次に今回求めたい値は名前ですのでA列(セルA1)を基準とします。
上の式を組込み1位の名前をOFFSET関数で求める式は次のようになります。
セルG2(名前):=OFFSET($A$1,MATCH(F2,$C$2:$C$5,0),0)
この式をセルG5までドラッグするだけで式の設定は完成です。
・引数はINDEX関数と同じ3つですが設定する内容はシンプルですね。
◆「StiLL」のコマンドボタンについて
「StiLL」はExcelを便利にアップグレードするアドインツールです。
上の式の結果を値に置き換えることも超やさしく実装できます。
StiLL はすぐ使える。(いいね!)
ー 仕事に趣味に ー
StiLL はEXCELのベストパートナー
体験セミナー実施中!(無料)
それではまた来週。