• ベストアンサー

VLOOK &””で返された数字が数値にならない

VLOOKでエラーと計算結果0の両方を空白で表示したいために IF(ISERORR(VLOOK****)&"")という式を使っていますが 返された数値が左寄せになってしまいます。 書式設定でカンマ入り数値にしても、右寄せになるだけでカンマが入りません。 どうしたらカンマ入り数値になるでしょうか。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! すでに的確な回答がなされていますが。 最後の &"" は少し横着をして関数で返す値が空白の場合は「0」が表示されてしまいますので、 それを回避するためのもので、 結果は「文字列」になってしまいます。 いくら表示が数値であっても「文字列」扱いになりますので、 数値としたい場合は IF(ISERORR(VLOOK****)&"")*1 としてやれば数値になります。 ※ 注意点 ※ 関数で返る結果が「数字」以外(文字列)の場合は、いくら *1 としても 文字列に掛け算をしているので「#VALUE」というエラーになってしまうと思います。 今回の質問はエラーの場合に空白にしたいというコトですので Excel2007以降の場合になりますが、 =IFERROR(VLOOK****,"") とした方が良いと思います。 Excel2003までの場合はコツコツと IF(ISERORR(VLOOK****),"",VLOOK****) のように エラーの場合は空白に、そうでない場合は関数・・・ とやれば数値はそのまま数値・文字列はそのまま文字列として表示されます。m(_ _)m

mmmtter
質問者

お礼

わかりやすい説明ありがとうございました!

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です! たびたびごめんなさい。 一番大切な >エラーと計算結果0の両方を空白で表示したいために・・・ を見逃していました。 数値だけの場合は *1 で問題ないのですが、文字列も数値も両方に対応したい場合は やはり前回の後者の方法で =IF(ISERROR(VLOOKUP(****)),"",VLOOKUP(****)) とコツコツ数式を入れるのが一番良いと思います。 IFERROE(****) では空白の場合は「0」が表示されてしまいます。 何度も失礼しました。m(_ _)m

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

No1です。 検索した結果に &"" と空文字列を連結しているので、結果が文字列になってます。 それをやめれば、元のデータが数値なのであれば、数値のままです。 元のデータが数値出なく、数字の文字列なのであれば、+0 するとか、value関数を使うか。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

結果が数値でなく文字列になっているのでは? 具体的にどういう式を入れているのですか?それを見ないことにはアドバイスできません。

mmmtter
質問者

補足

=IF(ISERROR(VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)),"",VLOOKUP(検索値,sheet1!$A$2:$C $100,1,FALSE)&"") このような式です。 返された数字はなぜか通貨になっています。

関連するQ&A