- ベストアンサー
Excelで数値切り捨てと桁制限を同時に行いたい方法
- Excelで数値の切り捨てと桁制限を同時に行いたい場合、入力規則を利用することができますが、注意が必要です。
- 入力規則の設定において、[>9.99]0##;[>.99]#.#; と入力すると、一部の場合で意図しない結果になることがあります。
- 具体的には、整数部分が2桁以上の数値や小数点以下が2桁以上の数値を入力した場合、切り捨てたい部分が四捨五入されてしまうことがあります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける 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しておくと、そのように表示できます。
その他の回答 (1)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
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」を設定します。
お礼
回答有り難うございます いろいろな方法があるのですね。古いPCでの作業なので、最も負担の少ないものにしてみます。
お礼
回答有り難うございます いろいろな方法があるのですね。古いPCでの作業なので、最も負担の少ないものにしてみます。