• 締切済み

excel 数値の桁数によって切捨てと切上を変更

少し前にExcelで、 『123→120  1234→1230 12345→12300  123456→123000 の様に、3桁と4桁は下1桁を0に、 5桁は下2桁を00に、6桁は下3桁を000に するにはどうすれば良いでしょうか。因みに、数値には1桁、2桁と7桁以上はありません。』 と質問させて頂きましたところ、 『(1) =IF(A1="","",ROUNDDOWN(A1,3-LEN(TEXT(A1,"0000")))) (2) =ROUNDDOWN(A1,IF(LEN(A1)>4,3-LEN(A1),-1))』 と2つの名回答を頂きました。 これに加えて、123→130 と3桁のみ切り上げ、または3桁のみ上記の関数で切り下げた結果に10足すにはどうすれば良いでしょうか。 業務軽減の為、何卒宜しくお願い致します。

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 元の値が、小数点以下が存在する場合や、マイナスの場合にも対応し、 2桁以下の場合や文字列の場合でも、エラーや誤った値を表示しない方法です。 =IF(ISERROR(1/(ABS(A1)>=100)),"",IF(ABS(A1)<1000,ROUNDUP(A1,-1),ROUNDDOWN(A1,2-INT(LOG10(ABS(A1))))))  処で、 >3桁のみ上記の関数で切り下げた結果に10足す という方法では、100の場合には110になってしまいますから、上記の関数や、前の回答者様達の御回答の様に、ROUNDUP関数を使用した方が良いと思います。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

桁数限定なので桁ごとに条件を考えてはいかが? =CHOOSE(INT(LOG(ABS(A1)))-1,ROUNDUP(A1,-1),ROUNDDOWN(A1,-1), ROUNDDOWN(A1,-2),ROUNDDOWN(A1,-3),ROUNDDOWN(A1,-4)) 負の場合も考慮してあります

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

切り上げと切り捨ての違う関数(または計算)なので,最初から素直にIFで仕分けた方が簡単です。 =IF(A1="","",IF(A1<1000,RONDUP(A1,-1),RONDDOWN(A1,3-LEN(A1))) なお,「10足す」と例えば 120 → 120 → 130 などのように,多分間違った結果になります。 それともこっちがホントにヤリタかった事ですか?

hiroataru
質問者

お礼

早速のご回答ありがとうございます。 「10足す」と言う質問は余分でした。 申しわけございません。 3桁だけ切り上げにする理由ですが、 私が扱っている商品の性格上、 同一商品であれば、10個入でも100個入りでも、 1個当たりの定価が同じになります。 例えば、一個が20円定価の商品の場合、 10個入り210円、100個入り2100円になります。 この定価に対して全ての商品に一律31%の値引きをして販売する場合、 10個入り販売価136円、100個入り1360円になり これを1桁目切り下げにすると各130円、1360円で 小包装である10個入りの方が一個当りの単価が安くなるのを避ける為です。 長々と書いてしまいましたが、ご回答頂いた方法は既に実践に役立てております。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • excel 数値の桁数によって切捨て位置を変える

    教えてください。 Excelで、123→120  1234→1230 12345→12300  123456→123000 の様に、3桁と4桁は下1桁を0に、 5桁は下2桁を00に、6桁は下3桁を000に するにはどうすれば良いでしょうか。因みに、数値には1桁、2桁、7桁以上はありません。 よろしくお願い致します。

  • Excelの関数(切捨て)の使い方

    ExcelのROUNDDOWN関数で、0.0から9.9までを、小数第1位で切捨てた結果を表にしました。対象となる数字を直値で入れると正しくなるのですが、0.0から0.1刻みで加算する算式で入力すると、6.0,7.0,8.0,9.0の切捨て結果が、それぞれ、5.0,6.0,7.0.8.0となってしまいます。関数の使い方がおかしいのでしょうか。作成した表が添付できなかったので、文章で説明すると、次の通りです。A1=0.0、A2=A1+0.1、A3=A2+0.1----、B1=ROUNDDOWN(A1,0)、B2=ROUNDDOWN(A2,0)、B3=ROUNDDOWN(A3,0)---です。Excelの関数に詳しい方、ご教示お願いします。

  • excelの切捨て

    よろしくお願いします。 123,456のような数字の上3桁以外は切捨てにしたいのですが(この場合、123,000)、よい関数はないでしょうか?rounddownやtrunkは下からの桁切捨てなので、上からの桁切捨てを設定したいのですが。

  • EXCEL 桁数を合わせた数値型セルの結合

    EXCELでのセル操作に関して下記のような結果を求めたいのですが、どういう関数なり操作を行えばいいのでしょうか? よろしくお願いします。 セルA(数値型) 123 セルB(数値型) 89 → セルC 12300089 セルA(数値型) 4567 セルB(数値型) 765 → セルC 456700765 ※セルBの部分を5桁扱いにしてセルCを完成させたいのです。 セルBの桁数が何桁になってもうまくいく方法を 教えてください。よろしくお願いします。

  • エクセル関数で桁数指定し数値を比較したいが

    エクセル関数で桁数指定などあるのでしょうか? 例えば 桁数を指定し一致した数値を取り出したいが・・どうすればよいでしょうか? 桁数は1桁~6桁です。 「例」123456の数字があります。 6桁全て一致したら○ 下5桁一致したら○ 下4桁一致したら○ 下3桁一致したら○ ・・・・と言う具合にエクセルで組みたいのです。よろしくお願いします。

  • エクセル 桁数によって頭に文字をつけたい

    エクセルで、4桁の数字なら頭にabをつけて値を返す。 5桁の数字なら頭にaをつける。 ということをしたいのですが、IFとLENを組み合わせて書けばいいのでしょうか。。。? 初心者で判らなかったので、よろしくお願いします。

  • エクセルで一つの列にある数値の桁数を統一したい

    エクセル2000を使用しています。 ある列に 12345 012348 012349 98750 と言うように5桁と6桁の数値が混ざっています。 これを5桁の数字の先頭に0(ゼロ)をつけて すべて6桁に統一した数値の列にしたいのですが、 このような変換ができる関数などはありましたら教えてください。

  • エクセル 切捨て関数

    エクセルで下記の関数を使用した場合、計算結果が切捨てされません。このような場合に切捨てをする場合はどのようにするのでしょうか。 ROUNDDOWN(A1*A2/A3,-3) A1は1581000 A2は1365000 A3は1785000 計算結果は1209000になります。 実際の計算結果は1208999.99999… 計算結果を1208000にしたいのですが。

  • EXCELの数値の切り捨て

    EXCELを使用してある計算をしています。 計算した結果の数値を100の位は全て切捨てしたいのです。 例えば、計算した結果の数値が 「45624」ならば「45000」に。 「INT」関数を使用するらしい所までは分かるのですが、それをどう使用していいか分かりません。 大変我侭な要望ではございますが、なるべく「手順書」みたいに具体的に詳しく教えてもらえないでしょうか。 宜しくお願いいたします。

  • エクセル:必ず指定の桁数で表示させるには?

    エクセルで、1桁の数字でも必ず指定した桁数になるように したいのですが、適切な関数はありますか? 例えば2桁で表示させたいとき、「2」は「02」となるように することです。 わからないので、とりあえずif関数を使って、10以上ならそのまま、 それ以外なら"0"&「そのセル」という風にしています。 text関数とかであるのでしょうか?

このQ&Aのポイント
  • Windows10でHHKB Professional HYBRID(PD-KB820BS)をUSB接続したが、デバイスが認識されずキー入力ができない。
  • DIPスイッチの設定やキーボード再起動を試したが、問題は解消されなかった。
  • Bluetooth接続では問題なく動作するため、一時的な対策としてBluetooth接続を利用しているが、USB接続の問題が解決しないため、解決策を教えて欲しい。
回答を見る

専門家に質問してみよう