• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excelでの数値切り捨て、桁制限をひとつのセルで)

Excelで数値切り捨てと桁制限を同時に行いたい方法

このQ&Aのポイント
  • Excelで数値の切り捨てと桁制限を同時に行いたい場合、入力規則を利用することができますが、注意が必要です。
  • 入力規則の設定において、[>9.99]0##;[>.99]#.#; と入力すると、一部の場合で意図しない結果になることがあります。
  • 具体的には、整数部分が2桁以上の数値や小数点以下が2桁以上の数値を入力した場合、切り捨てたい部分が四捨五入されてしまうことがあります。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける Private Sub Worksheet_Change(ByVal Target As Range)  Dim h As Range  Application.EnableEvents = False  For Each h In Target   If IsNumeric(h) Then   If h >= 10 Then    h = Int(h)    h.NumberFormatLocal = "000"   ElseIf h >= 1 Then    h = Application.RoundDown(h, 1)    h.NumberFormatLocal = "0.0"   ElseIf h > 0 Then    h = Application.RoundDown(h, 2)    h.NumberFormatLocal = ".00"   Else    h.NumberFormatLocal = "G/標準"   End If   End If  Next  Application.EnableEvents = True End Sub ファイルメニューから終了してエクセルに戻る セルに数字を記入する。 >切り捨てと同時に、桁数を揃える エクセルの一般機能ではそういう事は出来ませんが、セルの書式設定の表示形式のユーザー定義で [>=10]000Ctrl+J.#########;[>=1]0.0Ctrl+J########;.00Ctrl+J######### Ctrl+Jはコントロールキーを押しながらJ と設定し、そのまま配置タブに移動して「折り返して全体を表示」にチェック、縦位置を「上詰め」に設定してOKしておくと、そのように表示できます。

claymore0502
質問者

お礼

回答有り難うございます いろいろな方法があるのですね。古いPCでの作業なので、最も負担の少ないものにしてみます。

その他の回答 (1)

回答No.2

No.1さんが最後に書かれたのは、「Ctrl+J」で改行した部分の桁を、セルの行の高さを広げないことにより、見せない方法かと思います。 さて、入力した数値を加工し、別セルに結果を表示するのでも構わない場合は、話は簡単です。 =rounddown(a1,2-1-int(log10(a1)))  ……「345.6」→「340」のように切り捨てる場合 あるいは =if(a1>=100,int(a1),rounddown(a1,2-1-int(log10(a1))))  ……「345.6」→「345」のように切り捨てる場合 ※数式中に出てくる「2」は、有効数字の桁数です。 後は B1 の書式として「[>=10]000;[>=1]0.0;.00」を設定します。

claymore0502
質問者

お礼

回答有り難うございます いろいろな方法があるのですね。古いPCでの作業なので、最も負担の少ないものにしてみます。

関連するQ&A