- ベストアンサー
エクセル表示形式をif文など条件式で変えたいのですが
エクセル2003 ユーザ定義の表示形式を a1が0だったら・・b3は人、 1だったらb3の表示形式がPと表示するというのはできないでしょうか? 文字ではなく前に数字が入る表示形式です
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
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
その他の回答 (3)
No.1です。 計算に使うのなら、前もって書いてくださいね。目的によって方法が変わってきますから。 (1)B3に次の式を入力 =A1-0.00000001 (2)書式を次のように設定 0"P";0"人" 結構いい加減な方法ですが、0か整数ならうまくいくようです。
お礼
ユーザー定義の表示形式と書いたので大丈夫かとおもってました。 説明不足でした すいません 回答ありがとうございました
- koko88okok
- ベストアンサー率58% (3839/6543)
ユーザー定義の表示形式は、他のセルを参照して設定することはできないと思います。 「ユーザー定義の表示形式を設定する」 http://homepage3.nifty.com/gakuyu/excel/userdefined_ex.html#4-4
お礼
やはりむりなのでしょうか 回答ありがとうございました
B3に数式または固定値が入っているのなら、その後ろに次の式をつけ足せばいいのでは……。 =[B3の式(または値)]&IF(A1=0,"人",IF(A1=1,"P",""))
お礼
その式だと文字列となるので計算ができないのです 回答ありがとうございました
お礼
vbaに興味があったので調べて上のコードを実行することができました 回答ありがとうございました