- ベストアンサー
入力がないのにユーザー定義で定義した文字列が常に表示されてしまう
- VLOOKUP関数とIF関数を組み合わせて、「=IF(A1="","",VLOOKUP(A1,D2:C5,2,FALSE))」という関数を入力しています。
- A1セルに入力が無いはずのセルにユーザー定義の文字列が常に表示されてしまいます。
- どこが間違っているのでしょうか? お知恵を拝借させてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>実は「○○○○○○○」は文字列なのですよ 何か勘違いされているような気がします。 文字列を含むユーザー定義は提示したように1つ1つの文字を「""」ではさむ必要はありません。 実際に、回答どおりユーザー設定あるいは関数にしてみて、どのようにうまくいかないのか、具体的に返答してください。
その他の回答 (2)
- MackyNo1
- ベストアンサー率53% (1521/2850)
「""」は空白セルではなく空白「文字列」(文字数0の文字列)ですので、ユーザー定義の「@」では書式が有効になります。 数字に端数がある場合でもそのまま表示させるなら以下のようなユーザー定義を利用します。 "○○○○○○"G/標準 返す値が正の整数場合のみ返す値に○をつけたいなら(文字列はそのまま表示する)、条件分けした以下のようなユーザー定義にするのが確実です。 "○○○○○○"0;;;@ VLOOKUP関数で返す値が文字列の場合に○をつけたい場合は、以下のように数式の方で文字列を連結させる必要があります。 =IF(A1="","","○○○○○○"&VLOOKUP(A1,D2:C5,2,FALSE))
補足
他の方の補足にも書きましたが、 実は「○○○○○○○」は文字列なのですよ、説明不足ですいませんm(__)m お教えくださった「=IF(A1="","","○○○○○○"&VLOOKUP(A1,D2:C5,2,FALSE))」この数式でもやってみたのですが、うまくいきません。
- edomin7777
- ベストアンサー率40% (711/1750)
先ほどとは、逆の質問ですね。 「@」が「文字列」に対応しているからです。 ""は、文字列のヌルです。 なので、ユーザ定義では文字列があるものとして「○○○○○○○」が表示されてしまいます。 解決方法としては、 =IF(A1="",0,VLOOKUP(A1,D2:C5,2,FALSE)) として、0を表示しないようにする。 定義を "○○○○○○○"? にして、数字だけを表示させる。 等ですね。
お礼
私の説明の悪さで、お手間を取らせてしまい大変失礼いたしました。 改めて質問させて頂きましたので、できましたらそちらで再度お願いいたします。 http://okwave.jp/qa/q6142844.html よって、こちらは終了させて頂きますので、ご了承ください。
補足
説明不足でした。 実は「○○○○○○○」は文字列なのですよ わざわざお答え頂いたのにすいませんm(__)m
お礼
私の説明の悪さで、お手間を取らせてしまい大変失礼いたしました。 改めて質問させて頂きましたので、できましたらそちらで再度お願いいたします。 http://okwave.jp/qa/q6142844.html よって、こちらは終了させて頂きますので、ご了承ください。