こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

【Excel】数字の単位の小数点の自動表記

Excelのユーザー定義についてです。
たとえば「1」と入力すると「1kg」と表示されるが、小数点がつくとそのままでも表示される(たとえば「1.5」と入力すると「1.5kg」と表示される)設定ができるのでしたら教えてください。
なお、小数点以下1桁までです。それ以下は表示されず、四捨五入もされないのが条件です。

Excel2007利用です。

投稿日時 - 2019-07-16 11:17:01

QNo.9635954

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

考えてみました。
 1.表示形式を使う・・・難しそう
 2.入力用セルと出力用セルを分ける・・・邪魔になる
 3.WorksheetChangeイベントを使う・・・VBA不可
 4.VBA不可

そこで、「条件付き書式」+「α」で対応してみます。
その前に、例えば「0.06」はどのように表示するかはっきりしませんが、「0.0」としました。
また、意図的な「0.0」は「0」になります
Excel2010で行いました。添付図の状態で説明します。

●整数の設定
 1.表示したいセルを選択し、[ホーム]→[条件付き書式]を選択
 2.[ルールの管理]を選択し、次のダイアログで[新規ルール]を選択
 3.[数式を使用して、書式設定するセルを決定]を選択
 4.次のダイアログで[次の数式を満たす場合に値を書式設定]に「=C3=INT(C3)」と入力
 5.[書式]ボタンをクリック
 6.次のダイアログの[表示形式]タブの[ユーザー定義]を選択
 7.種類(T)の下の入力窓に「0"kg"」と入力。「」はいりません
 8.[OK]を何度かクリックして最初の設定を終わります。
●小数点以下のある数値の設定
 1~3は上記と同じ
 4.次のダイアログで[次の数式を満たす場合に値を書式設定]に「=C3<>INT(C3)」と入力
 5.[書式]ボタンをクリック
 6.次のダイアログの[表示形式]タブの[ユーザー定義]を選択
 7.種類(T)の下の入力窓に「0.0"kg"00」と入力し、
   右から2つ目の「0」の前にカーソルを持って行き<Ctrl>キーを押しながら<J>キーを押します
 8.[OK]を何度かクリックして2つ目の設定を終わります。
●表示形式を設定します
 1、該当セルを選択した状態で、右クリックし「セルの書式設定」を選択
 2.セルの書式設定ダイアログの[配置]タブで、[折り返して全体を表示する]にチェックを入れます

条件付き書式で2条件を設定し、小数点を表示する場合は小数点以下2桁目から折り返して見えないようにしています。
添付図のように、この設定したセルは再利用できます。

投稿日時 - 2019-08-06 08:20:36

ANo.3

関数を使った方法です。

1.セルA1に「=TRUNC(B1,1) & "kg"」と入力
2.セルB1に「1.15」と入力
そうするとセルA1には小数点第2位で切り捨てられた値が表示されると思います。

投稿日時 - 2019-07-17 13:26:46

補足

A1には必ず指定する関数式を表記させなければならないのですね。
そうすると表の作成上、邪魔になってしまいます。
また切り捨てというのは四捨五入のことだと思いますが、質問にも書いてある通り四捨五入しないというのが条件です。

投稿日時 - 2019-07-18 07:32:49

ANo.2

セルの書式を0.0"kg" とします。
条件付き書式で、「数式を使用して書式設定するセルを決定」を選び、数式を [セル参照]-INT[セル参照]=0 とします。
そのときの書式を 0"kg" とします。

投稿日時 - 2019-07-16 11:59:32

補足

「数式を使用して書式設定するセルを決定」
は「セルの強調表示ルール」>「その他のルール」>「新しい書式ルール」
のところですよね。
「ルールの内容」に

>数式を [セル参照]-INT[セル参照]=0

を入力し、同ウインドウの「書式」で

>0"kg"

を入力しました。

しかし反映しません。

A1セルのみならば
[A1]-INT[A1]=0
でよいのでしょうか?

また1.15と打つと1.6と四捨五入されてしまいます。

投稿日時 - 2019-07-17 10:59:14

ANo.1

書式設定だけでは無理なようです。
参考URL:http://q.hatena.ne.jp/1057331903

投稿日時 - 2019-07-16 11:52:51

補足

VBAは不可ですが、関数でも結構です。

投稿日時 - 2019-07-17 11:55:58

あなたにオススメの質問