• ベストアンサー

エクセル表示形式を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

  • EXCELで表示形式について。。。

    EXCELで表示形式でユーザー定義を使用した時に、 その値で検索したいのですが、どうしたらよいのでしょうか? Aの列に表示形式をユーザー定義で"A-"##にしました。 セルには数字のみ入力しました。見えているのはA-20とかA-15とかです。 その値でVLOOKUPの関数で検索したいのですが、できますか? ユーザー定義ではA~Zを使用してます。 セルには10~55までの数字を入力して、表になってます。 シートをコピーして形式を選択して貼り付けしてもセルに入力した数字のみで、 ユーザー定義で表示している"A-"の部分はコピーできません。 もう一度、入力しなおしたくはないので、お願いします。

  • Excelの表示形式のことで、困っています。

    Excelの表示形式のことで、困っています。 下図のとおり、 A列 |B列 時間|*時 人 |*人 A列をドロップダウンリストで選択すると、B列のユーザー定義の表示形式がそれに合った形式になる(例:Aで「時間」を選択すると、Bの表示形式は「##"時"」になる)ようにしたいのですが。 VBAを使えば出来るかもしれないとは思うのですが、そのやり方が分からず。 ご教示いただければ幸いです。

  • excel IF関数 表示形式

    エクセルのについてです。 例えば、A1セルがUSDやJPYなど通貨を入れるセルとします。 もしA1セルにUSDを入力すれば、隣のB1セルに入力された数字の表示形式は12.50と小数点第二位まで表示。もしA1セルにJPYを入力すれば、隣のB1セルに入力された数字の表示形式は1,000など第一位まで表示。 IF関数でもなんでもいいのですが、このような設定は可能でしょうか・・? どうぞよろしくお願いいたします。

  • エクセルでの表示について

    エクセルで「'」をつけて数字を入力すると文字列扱いとなりますが、現在もらったデータの中に、不思議なデータがあります。それは「'123」などのカンマ付きの数字データなのですが、表示形式を何に変更しても数字だけに戻りません。カンマを空白に置換えすることもできません。ユーザー定義で作られたものでもありません。ユーザー定義を使用せずにセルに「'123」などと表示させることができるのでしょうか?(ちなみに数字だけにしたくてカンマを置換えできない事に悩んでいてこのような表示がどうやってできたのかが疑問に思いました。)宜しくお願いします。

  • 数字の表示形式がポルトガル語に!?

    エクセルの表示形式についての質問です。 011A 011B 020 322 というような数字を打ち込みます。 そのとき、表示形式を文字列にするとセルの左上に緑の三角印が出て目障りなので 「ユーザー定義」で「種類」を「000」としました。 ところが、セルを昇順に並べ替えると 020 322 011A 011B となってしまいます。 そこで、どうしてだろう?とセルの書式設定を確認すると 表示形式の「分類=その他」「種類=Codigo Postal」「ロケール=ポルトガル語」となっていました。 その後、何度やり直しても同じ結果になります。 これはこういうものなんでしょうか? 011A 011B 020 322 というふうに並べることはできませんか?

  • エクセルの表示形式

    エクセルの表示形式で、小数点の位置をそろえたいです。それで、表示形式をユーザー定義で0.??としたのですが、そうすると小数点以下がない場合でも、1.などと、小数点が出てしまいます。小数点以下の数字がない場合は、1と出て、なおかつ小数点以下の数値がある場合に点の位置がそろうような表示形式を教えてください。おねがいします。 こうしたい 1 1.1 1.11 こうなってしまう 1.(←この点がいらない) 1.1 1.11

  • 表示形式を変えたい!!

    エクセルにおいて、数値の表示形式を変えたいのですが、 1234000000という数字を、 12億3千400万 という風に表示することは可能でしょうか? おそらくユーザー定義で設定するのだろうとは思いますが、そのフォーム(?)がわかりません! とっても困っています!!!(>_<) どなたがご存知の方、よろしくお願いします。 ちなみにOSはWin.xp、エクセル2002です。

  • エクセル 表示形式について

    エクセル2000を使用しています。  数字の表示を「(△123,456)」と括弧付き数字で尚且つマイナスの表示を「△」で表示させたいのですが、どうしたらいいのでしょうか?  ユーザー定義で似たような表示に括弧をつけてみたのですが、うまく行きません。  よろしくお願い致します。

  • エクセルの表示形式

    エクセルの表示形式について教えてください。 たとえば平成15年2月25日を入力では15/2/25と入力して表示はH15.2.25となるようなセルのユーザー定義 はどのような方法で設定すればいいのですか? 入力するデーターは過去の日付もあるので単純に数字と/ だけで入力したいのですが。なんどかやってみたのですが西暦に換算されてしまいます。 よろしくお願いします。

  • エクセルの表示形式で「万」を表示させたい

    お世話になります。<m(__)m> エクセル2003を使用 例えば数値の 100,000 を、表示形式の「ユーザ定義」で <種類>を #,##0,"千円" ←これにすると 「100千円」と表示されますが、 これと同じようにして「ユーザ定義」で 100,000を 「10万円」に 1,000,000を 「100万円」に表示する方法がありますか? もしこのような表示方法がありましたら、教えてください。 よろしくお願いいたします。

専門家に質問してみよう