こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルの関数について教えてください

エクセルでvlookupを使い得た結果がAだとします。
次にif関数でvlookup関数の結果のセルがAならばと言う式を作りました。
が、if関数が認識してくれません。
同じif関数の式でキーボードからAを入力したら結果が出ます。
vlookup関数のセルにはAでなく式しか入ってないからでしょうか?
vlookup関数の結果をif関数で認識する方法をお願いします。

投稿日時 - 2006-10-22 15:16:19

QNo.2489708

すぐに回答ほしいです

質問者が選んだベストアンサー

セルのデータが次のような場合,

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 の値によって変化します。

投稿日時 - 2006-10-22 16:09:23

お礼

ありがとうございます。
さっそく試してみます。
ありがとうございました。

投稿日時 - 2006-10-22 16:34:17

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

質問の主旨が明確でありませんが・・・
>エクセルでvlookupを使い得た結果がAだとします。

>次にif関数でvlookup関数の結果のセルがAならばと言う式を作り
>ましたが、if関数が認識してくれません。

「結果のA」と「結果のセルがAならば」のAは見た目が同じに見えて
も違うもののようですね

A
表の中の文字

の3っつを提示下さい

投稿日時 - 2006-10-23 08:33:07

お礼

回答ありがございます。
いろいろと試した結果何とか思いどうりのシートが作れそうです。
ありがとうございました。

投稿日時 - 2006-10-23 13:48:29

ANo.5

その式ですが
if(text(vlookup(******,****,**,**),"@")=text($x$y《注)比較対象"A"が入っているセル位置》,"@"),******,******)
としてどうなるか試してみては頂けませんか?

それと
=cord(vlookup(******,****,**,**))と
=cord($x$y《注)比較対象"A"が入っているセル位置》)
が一致するかそれぞれ試してみて頂けますか?

ps
VLOOKUPする時ってついついやっちゃうんですが
テーブルは
$で固定するかA:Bみたいに書いた方が良いかもですよ (^^;)

投稿日時 - 2006-10-22 18:10:33

お礼

$での固定を忘れてました。

またそれぞれの式も試してみます。
ありがとうございます。

投稿日時 - 2006-10-23 13:46:24

ANo.3

たびたび~です。。。♪

そそっかしいので
A という文字ではなくて、たとえなんですね。

カン違いでした~。。。Rin

投稿日時 - 2006-10-22 16:09:16

お礼

ありがとうございます。
Aの代わりに表の中の文字を使うと出来ました。
ありがとうございました。

投稿日時 - 2006-10-22 16:31:18

ANo.2

こんにちは~♪

ふつうは、こんな感じになるとおもいますが~。。。

=IF(VLOOKUP(*****)="A",****,****)

VLOOKで、検査値がない場合は、エラーになります。

ご参考にどうぞ~。。。。

Ms.Rinでした~♪♪

投稿日時 - 2006-10-22 16:03:10

ANo.1

◆「A」というのは、数値ですか、文字ですか?
◆タイプが違っていませんか?

投稿日時 - 2006-10-22 16:00:28

お礼

ありがとうございます。
文字です。
別のセルにif関数でvlookup関数が入ってるセルがAと言う文字ならばと言う式を入れると認識してくれません。
同じif関数でキーボードから文字を入力すると結果が得られます。
vlookup関数の結果をif関数で使いたいのです。
説明不足で申し訳ありませんがよろしくお願いします。

投稿日時 - 2006-10-22 16:07:49

あなたにオススメの質問