2012-03-05 15:21:17 +0000 2012-03-05 15:21:17 +0000
21
21

vlookup時に#N/Aを0に置き換えます。

私はエクセルでvlookupをよく使います。

問題はシーク値が見つからない時の#N/Aの値です。

if(isna(vlookup(what,range,column,false));0; vlookup(what,range,column;false))

を使って0に置き換えることが多いのですが、これは vlookup(what,range,column,false) を2回繰り返してしまい、式がダミーで醜く見えてしまいます。

0x1&

この問題を回避する他の方法はありますか?

回答 (3)

32
32
32
2012-03-05 15:46:58 +0000

エクセルのバージョンは?Excel 2007以降では、このようなIFERROR関数を使用することができます

=IFERROR(VLOOKUP(A1,B2:E3,4,0),0)

5
5
5
2016-04-28 13:54:54 +0000

また、#N/Aエラーのみを検出したい場合は、 IFNA を使用することもできます。

=IFNA(Formula,0)

これは#N/Aエラーの代わりに0を表示します。

1
1
1
2014-06-27 04:29:18 +0000

これは実はかなり強力で、この質問に答えてもらおうと、しばらくネットを探し回っていました。しかし、私の場合は、#N/A0に置き換えるのではなく、代替情報を使いたいのです。私の場合は、VLOOKUPで何も見つからなかった場合は、別のセルの内容を使いたいのです。(私はExcel 2010を使用していますが、これは問題ではないはずです) セルのE3にある私の数式がSheet1のどこかにあり、引きたいデータがSheet2のどこかにあると仮定します。そこに Sheet2 で見つけられるデータがなければ、私は私のセルが Sheet1 からのデータを使用したいと思います。

=IFERROR(VLOOKUP(A3,Sheet2!B2:E3,4,FALSE),Sheet1!D3)

_元の応答者に、ありがとうございます。あなたは私の人生を今夜少し簡単にしました。私はあなたの答えの私の放漫な拡張は、あまりにも、誰かを助けることを願っています! _ _。