質問: エクセルの関数について教えてください エクセルでvlookupを使い得た結果がaだとします。 次にif関数でvlookup関数の結果のセルがaならばと言う式を作りました。 が、if関数が認識してくれません。 同じif関数の式でキーボードからaを入力したら結果が出ます。 vlookup関数のセルにはaでなく式しか入ってないからでしょうか? vlookup関数の結果をif関数で認識する方法をお願いします。
回答: セルのデータが次のような場合, a列 b列 c列 1 a [ ]←ここ(c1)に1~9の何れかを入力 2 a 3 a 4 s 5 p 6 w 7 g 8 b 9 h 任意のセル (例えば c2セル) に =if(vlookup(c1,a1:b9,2)="a","アタリ","ハズレ") と入力すると, c1セル の値が 1 か 2 か 3 のとき→任意のセルの値は "アタリ" c1セル の値が 1 か 2 か 3 以外のとき→任意のセルの値は "ハズレ" となります。 つまり,大文字小文字(a と a)の区別はできません。 =if(vlookup(d1,a1:b9,2)=char(65),"アタリ","ハズレ") でも同じく,大文字小文字の区別はしません。 =if(code(vlookup(d1,a1:b9,2))=65,"アタリ","ハズレ") こうすると, c1セル の値が 1 か 3 のとき→任意のセルの値は "アタリ" c1セル の値が 1 か 3 以外のとき→任意のセルの値は "ハズレ" となります。 厳密に区別する必要の無い場合は, =if(vlookup(c1,a1:b9,2)="a","アタリ","ハズレ") 厳密に区別する必要のある場合は, =if(code(vlookup(c1,a1:b9,2))=65,"アタリ","ハズレ") で行けると思います。 当然,セルを分けても行けますよ。 任意のセル (例えば c2セル) に =vlookup(c1,a1:b9,2) 他の任意のセル (例えば d2セル) に =if(c2="a","アタリ","ハズレ") これでも d2 は c1 の値によって変化します。