- ベストアンサー
ひとつのセルに対して
複数の書式設定がうまくできません。たとえば、A1がB1を参照しているとしたとき、B1に「abc」という文字列が入るとすればA1のセルには「abcこれは文字列です」と表示し、B1に「1」という数字が入るときには「1これは数字です」と表示したいのです。ついでにB1に何も入力されていないときにはA1に「未入力」と表示しておきたいのですが・・・IF関数とユーザー定義だけで対処できますでしょうか?自分なりにやってみたら、B1に文字を入力しようとするとエラーメッセージが出てしまって困っております。。。。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
式を2つ書きます。 =IF(B1="","未入力",IF(COUNT(B1)>0,B1&"これは数字です",B1&"これは文字列です")) =IF(B1="","未入力",IF(COUNT(VALUE(B1))>0,B1&"これは数字です",B1&"これは文字列です")) 上の式はエクセルの数値のみを「数字」と判定します。ですから全角の「123」や、文字列として入力された「'123」は文字列として判定してしまいます。 下の式は全角の「123」や、文字列として入力された「'123」も「数字」として判定します。どちらでもお好みの方をお使いください。
その他の回答 (4)
- kuma56
- ベストアンサー率31% (1423/4528)
>自分なりにやってみたら、B1に文字を入力しようとするとエラーメッセージが出てしまって困っております。。。。 直接の回答ではないのですが・・・・・ こういう場合は、自分でやってみた方法(設定してみた書式や入力した関数式など)を書いて、それに対してどういう内容のエラーメッセージが表示されたかを書いておくと、より良いアドバイスが貰いやすくなりますよ。 書いてあった方法を見れば(すでに回答を寄せてくれている皆さんなどは)質問者が何をやりたいのかよりはっきりとわかるかも知れないし、質問者のスキルを推察してそれに見合った回答も可能になるでしょう。
お礼
次回からそのようにします、言われてみればごもっともです!ありがとうございました!!<(_ _)>
- imogasi
- ベストアンサー率27% (4737/17069)
こんな関数でも出来そうです =IF(B1="","未入力",IF(TYPE(B1)=1,B1&"数字です",IF(TYPE(B1)=2,B1&"文字列です",""))) >書式設定ダイアログのユーザー定義だけではちょっと処理しきれないものなのでしょうか 多分無理です。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 =IF(COUNTIF(B1,"*"),B1&"これは文字列です",IF(B1>0,B1&"これは数値です","未入力"))
お礼
すごい、解決方法はいくつもあるんですね((+_+))ありがとうございました!!ちなみに書式設定ダイアログのユーザー定義だけではちょっと処理しきれないものなのでしょうか(@_@;)
- Turbo415
- ベストアンサー率26% (2631/9774)
=IF(ISNUMBER(B1),B1&"これは数字です",IF(ISTEXT(B1),B1&"これは文字列です","未入力")) こんな感じでどうでしょう。
お礼
こんなにあっさり回答があるとは(汗 ありがとうございます!助かりました!!
お礼
みなさん、それぞれ違うやり方であっさり解決してる。。。すごい(._.) かなり参考になりました!!本当にありがとうございました!!!