• ベストアンサー

エクセル表示形式をif文など条件式で変えたいのですが

エクセル2003  ユーザ定義の表示形式を a1が0だったら・・b3は人、 1だったらb3の表示形式がPと表示するというのはできないでしょうか? 文字ではなく前に数字が入る表示形式です

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

  • ベストアンサー
回答No.3

VBAは分かりますか? 無理やりVBAでB3の表示形式を入れてやる方法しか無いように思います。 ここでは、 A1が0であったら、B3はn人 A1が0以外であったら、B3はnP としています。 表示形式ですからB3は計算に使えます。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then  If Range("A1") = 0 Then   Range("B3").NumberFormatLocal = "0""人"""  Else   Range("B3").NumberFormatLocal = "0""P"""  End If End If End Sub

exceln
質問者

お礼

vbaに興味があったので調べて上のコードを実行することができました 回答ありがとうございました

その他の回答 (3)

noname#99913
noname#99913
回答No.4

No.1です。 計算に使うのなら、前もって書いてくださいね。目的によって方法が変わってきますから。 (1)B3に次の式を入力 =A1-0.00000001 (2)書式を次のように設定 0"P";0"人" 結構いい加減な方法ですが、0か整数ならうまくいくようです。

exceln
質問者

お礼

ユーザー定義の表示形式と書いたので大丈夫かとおもってました。 説明不足でした すいません 回答ありがとうございました

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.2

ユーザー定義の表示形式は、他のセルを参照して設定することはできないと思います。 「ユーザー定義の表示形式を設定する」 http://homepage3.nifty.com/gakuyu/excel/userdefined_ex.html#4-4

exceln
質問者

お礼

やはりむりなのでしょうか 回答ありがとうございました

noname#99913
noname#99913
回答No.1

B3に数式または固定値が入っているのなら、その後ろに次の式をつけ足せばいいのでは……。 =[B3の式(または値)]&IF(A1=0,"人",IF(A1=1,"P",""))

exceln
質問者

お礼

その式だと文字列となるので計算ができないのです 回答ありがとうございました

関連するQ&A