VLOOKUP関数で「検索の型」をFALSE(完全一致)に設定すると一致する検索値がない場合、「#N/A」とエラー値がでますよね。
このときにエラー値でなく、「該当なし」または 空白を表示したいのですが、どういう処理が適切でしょうか。

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

A 回答 (3件)

私はISERROR関数を使用しています。



具体的には
=if(ISERROR(VLOOKUP(~)),"該当なし",(VLOOKUP(~))
です。

=VLOOKUP(~)がもともとの式です。

参考にしてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。エラー値を見つける関数があるんですね。助かりました!!

お礼日時:2001/11/14 18:29

こんにちは!



前記のお二人と同様の考え方ですが

=IF(ISNA(MATCH(**,**:**,0)),"該当なし",VLOOKUP(**,**:**,*,0))

でも同様の結果となります。
ほんの僅か数式が短くなるだけだですが・・・・(^^;
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2001/11/14 18:30

こうしたらどうでしょうか。

「#N/A」に対してISNAを使います。VLOOKUP内は例です。

 =IF(ISNA(VLOOKUP(B2,E2:F6,2,FALSE)),"該当なし",VLOOKUP(B2,E2:F6,2,FALSE))
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2001/11/14 18:29

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

このQ&Aと関連する良く見られている質問

QエクセルのVLOOKUPでエラー値「#N/A」を空白にする方法

すいません。
マイクロソフトのエクセルについて教えて下さい。
エクセルでVLOOKUP関数を使用しているのですが、該当する値が無い場合、エラー値の「#N/A」が表示されます。値がない場合、「#N/A」ではなく、空欄になるように設定したいのですがどのようにしたらいいのでしょうか?
どなたか教えて頂けないでしょうか?
よろしくお願いします。

Aベストアンサー

=IF(ISNA(VLOOKUP(...)),"",VLOOKUP(...))
または
=IF(COUNTIF(範囲,抽出条件),"",VLOOKUP(...))
とすればできます。
範囲はVLOOKUPの範囲の左端の列のみです。
ISNA()はISERROR()でも可

Q検索する値が空白の際は空白にして、VLOOKUPで[OK]と表示したい

色々試しましたがどうにもわからなくて
よろしくお願いします。

Sheet1のA列に検索する値が入っています。
B~D列にはチェック項目があり、
それぞれSheet2のデータをVLOOKUPで抽出しています(Sheet2は大元のデータで、値は数字ではなく[*]が入っています)

Sheet1のB~D列の式は
A列が空白の際は空白表示にしたいので
例えばB列には下記のように入力しています。

=IF(A1="","",VLOOKUP(A1,Sheet2!A:F,2,FALSE)

また、E列にはB~Fのどこかに[*]があれば[OK]と表示したいので下の式を入れています。

=IF(COUNTIF(B1:D1,"*"),"OK","")

困っているのはA列の検索する値がSheet2のデータにないときに[#N/A]と表示されて見にくくなっていることです。

そこでB列に入れる式を下の様に入れてみたのですが
今度はE列が[*]がないのに[OK]と表示されてしまいます。
IF(ISNA((A1="","",VLOOKUP(A1Sheet2!A:D,2,FALSE),"",IF(A1="","",VLOOKUP(A1,Sheet2!A:D,2,FALSE)

記号だからダメなのかと思い、下の式を入れて
試しに[*]ではなく[有]で表示にすると上手くE列でOK 表示できたのですが、今度はA列が空白の時に[#N/A]となってしまいます。

=IF(VLOOKUP(A1,Sheet2!A:F,2,FALSE),"有"."")

ちなみに下の式を入れてみたところ、"有"の部分がエラーになっているようでした。

=IF(A1="","",VLOOKUP(A1,Sheet2!A:F,2,FALSE),"有"."")

色々分かりにくくて申し訳ありませんが
どうぞよろしくお願いします。

色々試しましたがどうにもわからなくて
よろしくお願いします。

Sheet1のA列に検索する値が入っています。
B~D列にはチェック項目があり、
それぞれSheet2のデータをVLOOKUPで抽出しています(Sheet2は大元のデータで、値は数字ではなく[*]が入っています)

Sheet1のB~D列の式は
A列が空白の際は空白表示にしたいので
例えばB列には下記のように入力しています。

=IF(A1="","",VLOOKUP(A1,Sheet2!A:F,2,FALSE)

また、E列にはB~Fのどこかに[*]があれば[OK]と表示したいので下の式を入れています...続きを読む

Aベストアンサー

B1の式
=IF($A1="","",IF(ISNA(VLOOKUP($A1,Sheet2!$A:$F,2,FALSE)),"",VLOOKUP($A1,Sheet2!$A:$F,2,FALSE)))
をB~D列へコピー。B1:D1を下までコピー。
で、いかがでしょうか。

あと、E列の式は =IF(COUNTIF(B1:D1,"*"),"OK","") で上手く動いていますか?
=IF(COUNTIF(B1:D1,"[*]")>0,"OK","")
ではないかと思うのですが。

QVLOOKUP関数で検索値と一致項目を取得できません

VLOOKUP関数で検索値と一致項目を取得できません

下記のような表があるとき、
=VLOOKUP(K1,A2:B4,2,TRUE)と記述し『CCC』を取得したいのですが、
『BBB』を取得してしまいます。

 |A |B |C |D |E |F |G |H |I |J |K
1|0.6|0.6|0.6|0.6|0.6|0.6|0.6|0.6|0.6|0.6|=SUM(A1:J1)
2| 4|AAA
3| 5|BBB
4| 6|CCC

一致しない場合は、近似値を取得したいため、検索方法をTRUEにしています。
EXCEL2007を使用しています。

K1の値を数値で『6』と入力した場合や、『=0.6*10』など記入した場合は、『CCC』が取得できます。
また、A1~J1を0.5にした場合は『BBB』が取得できるので、関数自体は正しいと思うのですが、原因がわかりません。

現在のところ、=ROUND(SUM(A1:J1),2)としてごまかしているのですが、
原因がわかりましたら、教えていただけますでしょうか?

Aベストアンサー

だいぶシビアなところを突いていますが,浮動小数点誤差によって「内部的な値」が6未満になっています。「エクセル(コンピュータ)は計算を間違えない」というのはまっかな大嘘です,という実例の一つです。
小数点以下の数字を使って計算をしているところ,どこでもこれが紛れ込む可能性があります。


>現在のところ、=ROUND(SUM(A1:J1),2)としてごまかしているのですが、

ごまかしでもなんでもなく,極めて正しい対処です。
=VLOOKUP(ROUND(k1,2),…
=VLOOKUP(ROUND(SUM(A1:J1),2),…
などでも構いません。
また微少数(A1:J1に出てくる値よりも十分小さい値)を使って
=VLOOKUP(K1+0.0001,A2:B4,2,TRUE)
等としてもできます。

QExcel:VLOOKUP関数で検索値が見つからないとき、エラーが出ないようにしたい。

ただいまこういった数式を使っているんですが、

=IF($G$12<>"",$H$12-VLOOKUP($G$12,使用材料,2,0),)

この数式の場合、範囲”使用材料”に、G12の値が見つからないと、エラーになってしまいます。
エラーが出ないようにするには、どういった数式にすればよろしいのでしょうか?

Aベストアンサー

こんにちは。
下記のように、VLOOKUPがエラーかどうか判断すればOKです。


=IF( ISERROR(VLOOKUP($G$12,使用材料,2,0)) ,$H$12-VLOOKUP($G$12,使用材料,2,0),"")


以上です。

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。


人気Q&Aランキング

おすすめ情報