重要なお知らせ

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

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

その日の試合のみの打率を表示させたいのですが、
セルA1に打率
セルB1に打数
セルC1に安打
を入力して、
セルA1に、=C1/B1と入れますよね。
打率が、1.00の時は、1.00と表示し
その他の時には、.352のように点の前に0を付けないようにしたいのですが、どうすればいいんでしょうか?

A 回答 (4件)

こんばんは。



まず、A1に、=IF(C1=B1,"1.00",C1/B1) とします。
次に、A1の[セルの書式設定]を、[表示形式]-[ユーザー定義]で .000 とします。
A1の関数を見ていただくとわかるように、
C1=B1の場合のみ、"1.00"が「文字列」として入ります。
このため、[書式設定]-[配置]-[横位置]で、”右詰め”を選択します。
以上で、目的通りの表示になると思われます。

打率の計算なので1.00より大きい値はありえないはずですが、
もし入力ミスで打席数より安打数が大きい値の場合、ex) 7/5=1.400
のような表示スタイルになります。
また、文字列の"1.00"を(A1を)そのまま他の関数の引数としても、
そのまま( *1 をつけて文字列を数値化することなしで)計算できるようです。
    • good
    • 0

ANo.2です。

ご質問の内容を熟読せずに的はずれな回答してしまいました。(平謝り)
打率10割(=1.00)の時「1.000」と表示きれてしまいましたね。
マクロを使うとできるのですが・・・・。
例えば、次のようなのでいかがでしょう。

Private Sub Worksheet_Change(ByVal Target As Range)
rw = ActiveCell.Row
For r = rw - 1 To rw
If Cells(r, 2) = "" Or Cells(r, 2) = 0 Or r < 1 Then GoTo Nxtr
If Cells(r, 3) / Cells(r, 2) = 1 Then Cells(r, 1).NumberFormatLocal = ".00" Else Cells(r, 1).NumberFormatLocal = ".000"
Nxtr:
Next r
End Sub
    • good
    • 0

A列を選択 → 「書式」メニューの「セル(E)」 → 表示形式タグの「分類形式(C)」にて「ユーザー形式」を選択 → 「種類(T)」の所にキーボードから ”.000”と入れて 「OK」をクリックするとできそうです。


「.」の右の「0」の数で小数点以下の桁数が決められます。 

 やっていたらたまたま出来ただけなので自信はありませんが・・・。
    • good
    • 0

>1.00の時は、1.00と表示し


>その他の時には、.352のように点の前に0を付けない

1.00ではなく、1.000では駄目ですか?。
この場合なら、A1をアクティブにして、

書式→セル→表示形式→ユーザー定義→種類を
.000_
としてはどうでしょうか。

小数点以下3桁目を0なら表示しない形式なら
.00#_
をしたら良いです。
    • good
    • 0

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