エクセル(excel)のvlookup関数で逆方向(左右逆)から値を参照することはできるんでしょうか?
vlookupで左側(右から左に)の値を取得するには?
vlookupで逆方向(左右逆)は?左側(右から左に)の値を取得するには?
vlookup関数は検索範囲の開始列から右方向にあるデータを返す関数です。
逆に開始列から左へ向って○○列目のデータを取得する方法やそんな関数はあるんでしょうか?
VLOOKUP関数の逆方向(左右逆)はありませんが似たような感じで使える関数でLOOKUP関数があります
VLOOKUP関数のように検索した行の右へ何列目と言う指定ではありませんが
「=LOOKUP(検索値,検索範囲,対応範囲)」
となります
検索範囲:VLOOKの場合の選択範囲の一番左の列
対応範囲:VLOOKの場合の選択範囲の○列目の列
これを直接列として選択すれば良いので、vlookupとは違い右左は関係なくなります
ただ、これですと左へ○列目の指定は出来ませんので、そこを変化させたいのであれば
[=LOOKUP(検索値,検索範囲,OFFSET(検索範囲,0,○列目))]
このようにOFFSET関数を利用して対応範囲を変化させます
○列目の部分はVLOOKUPとちょっと違って、
・1とすれば検索範囲の一つ
・右の列-1とすれば検索範囲の一つ左の列
・0とすると検索範囲と同列
になります
もしくは検索列が右にあるケースで言うと、
B1=INDEX(D1:D10,MATCH(A1,F1:F10,0))
「左へ向って○○列目」というものではありませんがどうしても左へ○○列目とするならば、こんな方法もありますよ
B1=OFFSET($F$1,MATCH(A1,$F$1:$F$100)-1,-2)
ちなみに、VLOOKUP関数を使った結果,エラーが出たセル全てに0を入力するには、VLOOKUP関数を修正するだけでOKです。
「=IF(ISERROR(今のVLOOKUP関数式),0,今のVLOOKUP関数式)」
という具合に修正してください。
EXCEL2007以降ならば、IFERROR関数を使用して、
「=IFERROR(今のVLOOKUP関数式),0)」
またVLOOKUP関数は下方向へオートフィルできるほか、指定した列番号以外はできます。
列番号をオートフィルで連続数値にするにはそこに数式を入れれば可能と思いますが。例えば、A1~E1に2 3 4 5 6 と入力し、=vlookup(検索値,範囲,A1,FALSE)とすれば右にオートフィルできます。
範囲のところを絶対参照にすれば出来ますよ
例
a1:b100
を
$a$1:$b$100
「$」をつけるということです