質問: エクセルの if関数、vlookup関数について エクセルなんですが、2007を使用しています。osはビスタです。 if関数とvlookup関数を使って表を作成したいのですが、なかなか出来ません。。。そこで皆さんのお力をお借りできればと・・・ 特に if vlookup にこだわる事はないので教えていただけると助かります。 <シート1> a b c 1 日本or東海 2 3 愛知 a 4 岐阜 b 5 データ 日本 東海 7 愛知 a a 8 岐阜 b b 9 三重 c c a1セルに『日本』と入れてもa2のセルは空白なのでb2のセルは空白のまま、 同様にa3のセルには『愛知』と入れたのでデータの日本の下のb7のデータ の『a』を反映させたいんです。 これがa1セルに『東海』と入れた場合は自動的にb3セルは『a』のでーたが 反映されるようにしたいんです。 ちなみにa1セル及びa2~a5はリスト設定をしてあるので、リストから選んだら 自動的に反映させるようb2~b5セルに入れる関数を教えて下さい。 皆さんのお知恵をお借りできれば助かります。よろしくお願いします。
回答: データの方の「日本」「東海が入っているのが6行目(b6/c6)とすると、 b2に入れるのは以下の式で行けます。 =if(a2<>"",vlookup(a2,$a$7:$c$9,match($a$1,$b$6:$c$6,0)+1,false),"") ifで、a2に何か入っている時はvlookupの結果、何も入っていない時は空白にしています。 vlookupでは、3番目の引数で、見つかった行の何列目を表示するかを選べますから、 match を使って、a1(日本or東海) と同じ者が6行目の何列目にあるかを検索し、その結果をvlookupの第3引数に指定しています。