重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

A 回答 (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
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/21 01:31

No.1です。


計算に使うのなら、前もって書いてくださいね。目的によって方法が変わってきますから。

(1)B3に次の式を入力
=A1-0.00000001
(2)書式を次のように設定
0"P";0"人"

結構いい加減な方法ですが、0か整数ならうまくいくようです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/21 18:31

ユーザー定義の表示形式は、他のセルを参照して設定することはできないと思います。



「ユーザー定義の表示形式を設定する」
http://homepage3.nifty.com/gakuyu/excel/userdefi …
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/20 21:04

B3に数式または固定値が入っているのなら、その後ろに次の式をつけ足せばいいのでは……。



=[B3の式(または値)]&IF(A1=0,"人",IF(A1=1,"P",""))
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/20 20:37

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