投稿回数変更のお知らせ

=VLOOKUP(A1,データ!B3:H100,2,FALSE)
現在上記の式が入っていますが元のデータが空白の場合
今はゼロになりますがこれを空白の場合空白にする式を教えて下さい。

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (2件)

ご質問者の意図は以下のいずれでしょうか?


(1)数式による表示内容はもともと「数値」ではなく、「文字列」を想定している。このため「0」ではなく「空白」を表示したい。
(2)数式による表示内容はもともと「数値」を想定している
ア.表示される数値には「0」も含まれるため「空白」と区別する目的で「空白」のときは「空白」となるようにしたい
イ.表示される数値に「0」は想定していないため「空白」のときは「空白」となるようにしたい

上記(1)の場合、
=VLOOKUP(A1,データ!B3:H100,2,FALSE)・・・①
という数式で表示されるのは元々文字列を想定していて、その中に「0」が表示されると、当然違和感があります。これを避ける目的で、
>空白の場合空白にする
というご希望であれば、①の数式では元々文字列が表示される想定なので

=VLOOKUP(A1,データ!B3:H100,2,FALSE)&""・・・➁

というように末尾に「&""」を付けて文字列化すれば、元の文字列は文字列のまま、空白は「""」つまり長さ0の文字列になり、ご希望に沿ったものになると思います。

上記(2)アの場合
参照先のデータが「0」ときは「0」を表示し、「空白」のときは「空白」を表示することになるので、以下のケースを想定する必要があります。
a.参照先が0のとき
b.参照先が半角スペースや全角スペースまたはそれらの混合であるとき
c.参照先が空白で数式による空白「""」であるとき
d.参照先が空白で「未入力の空白」のとき
上記aのとき、①の数式は「0」を返すので希望どおりです。
上記bのとき、①の数式は「空白」を返し、「0」にはならないので、希望どおりです。
上記cのとき、①の数式は「空白」を返し、「0」にはならないので、希望どおりです。
上記dのとき、①の数式は「0」を返すので、

=IF(VLOOKUP(A1,データ!B3:H100,2,FALSE)="","",VLOOKUP(A1,データ!B3:H100,2,FALSE))・・・③

という数式に修正する必要があります。

③の数式では、
上記aの場合、IF文の条件が不成立となり、後半の数式、つまり①が計算されますが、前述のとおり0になり希望どおりです。
上記bの場合、IF文の条件が不成立となり、後半の数式、つまり①が計算されますが、前述のとおり空白になり希望どおりです。
上記cの場合、①のままで希望どおりですが、③でもIF文の条件が成立し、""か返るので、結果として空白になり希望どおりです。
上記dの場合、IF文の条件が成立し、""が返るので空白になり希望どおりです。

上記(2)イの場合
そもそも参照先が数値であり、0であることを想定していない場合、0となることはない前提で数式を組み立ててもよいので、

=IFERROR(1/(1/VLOOKUP(A1,データ!B3:H100,2,FALSE)),"")・・・④

とすればよいと思います。
但し、当然④の数式では、万一参照先に0があればこれも「空白」として表示されてしまいます。

つまり、結論としては、ご質問者の状況に応じて、➁③④のいずれかの数式に修正すればよいということになります。
    • good
    • 1

空白の場合に「0」ではなく「空白」を返すようにするには、IF関数を使って条件分岐を追加します。

具体的には、VLOOKUPの結果が空白かどうかをチェックし、空白なら空白を返すようにします。

以下が修正後の式です:
=IF(VLOOKUP(A1,データ!B3:H100,2,FALSE)="","",VLOOKUP(A1,データ!B3:H100,2,FALSE))

式の説明:
VLOOKUP(A1,データ!B3:H100,2,FALSE)
元のVLOOKUP関数で値を検索します。
IF( ... = "", "", ... )
VLOOKUPの結果が空白("")の場合、空白を返します。
空白でない場合は、元のVLOOKUPの結果をそのまま表示します。
注意点:
もし元データが「0」や「スペース」など、見た目では空白に見える値を含む場合、それらも考慮する必要があります。
例えば、「スペース」が含まれる可能性がある場合、次のように修正できます:
=IF(TRIM(VLOOKUP(A1,データ!B3:H100,2,FALSE))="","",VLOOKUP(A1,データ!B3:H100,2,FALSE))

これにより、スペースや余分な空白文字も取り除いて判定します。
これで、元データが空白の場合には結果も空白になるはずです!
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A