色々探したのですが似たような例が見つからないのでこちらで質問させて頂きます。
VLOOKUPを使って、#N/A と、エラーが出るセルには、そのままではなくて、別のある列の数値を入れなさい、としたいのです。

このままの式だと、VLOOKUP(A1,$C$1:$D$5,2,false)
なのですが、この場合の#N/Aに、もとの1の表の う にある
125 を持っていきたいのですが、
どのように式をかえればよいでしょうか?
よろしくお願いします。

1の表           2の表          修正
A    B         C    D    →    E
あ   123        あ    156        156
い   124        う    180        #N/A
う   125        え    150        180
え   126        か    160        150
お   127        お    160        160

このQ&Aに関連する最新のQ&A

A 回答 (3件)

2の表と修正という表の関係がわかりませんが、現在の式で#N/Aが出る場合、別の表を検索させるということですか?


だったら、以下のようになります。別の表の範囲 とあるところに$C$1:$D$5に変わる別の範囲を入れてください。

=IF(ISNA(VLOOKUP(A1,$C$1:$D$5,2,FALSE)),VLOOKUP(A1,別の表の範囲,2,FALSE),VLOOKUP(A1,$C$1:$D$5,2,FALSE))
    • good
    • 0
この回答へのお礼

ありがとうございました!まさにその通りです。
FALSE でない場合は・・という式が作れなくて悩んでいました。
ISNA を使えばよいのですね。よくわかりました。

お礼日時:2009/05/23 18:41

2つ位であればIF文で分ける方法があります。


=IF(ISERROR(今の式),VLOOKUPでA~B列の範囲,今の式)
といった具合です。
もう少しシンプルにすると,
COUNTIF関数で、C列に検索値があるかどうかでも判断できます。
=IF(COUNTIF(A1,$C$1:$C$5)=0,B1,VLOOKUP(A1,$C$1:$D$5,2,FALSE))
といった感じでも出来るはずです。
    • good
    • 0
この回答へのお礼

ISERROR と、ISNA の、使い方の違いがまだよくわかりませんが、また次の課題にします。
COUNTIF は、また違った考え方なんですね。
検索範囲に全くなければもとの数値にする、ということですね!
色々なやりかたがあるのですね。
ありがとうございました!

お礼日時:2009/05/23 19:04

#N/Aのときに表示するのは、124ですよね?



それなら、一般的には、こうでしょうか。

=IF(ISNA(VLOOKUP(A2,$C$1:$D$5,2,FALSE)),B2,VLOOKUP(A2,$C$1:$D$5,2,FALSE))

もし、Excel2007なら、こんなかんじで。

=IFERROR(VLOOKUP(A1,$C$1:$D$5,2,FALSE),B1)

※IFERRORは、たしかExcel2007から追加された関数だったと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
ISNA はそういう風に使うのですね、NO1さんと同じような持っていきかたですね。IFERROR なんてあるのですね。それだと、
私が単純に考えていたのが、IF(VLOOKUP(A1,$C$1:$D$5,2,FALSE),B1)
でした。色々足りないですが・・・。
ありがとうございました。

お礼日時:2009/05/23 18:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報