• ベストアンサー

Excelの関数を探しています

・上4桁目で四捨五入する ・1の位を0で表示する この2つの条件を満たす関数を探しています。いくつか試してみたのですがうまくいかず…何か良い式はありますでしょうか? 例) 1 →0 12 →10 123 →120 1234 →1230 12345 →12300 123456→123000 666666→667000

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

  • ベストアンサー
  • q4330
  • ベストアンサー率27% (768/2786)
回答No.1

=IF(ROUND(A1,-LEN(A1)+4-1)=1,0,ROUND(A1,-LEN(A1)+4-1))

その他の回答 (3)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

回答No.3で質問者の求める要件を誤解しているかも知れません。 「上4桁目で四捨五入する」とは「有効数字を最大3桁として最小位の値は0とする四捨五入の数式」ということでしたら次の数式で良いと思います。 =ROUND(A1,-MAX(LEN(A1)-3,MIN(MAX(LEN(A1)-1,1),1))) 結果は次のようになります。 1 → 0 12 → 10 123 → 120 1234 → 1230 12345 → 12300 123456 → 123000 666666 → 667000 1234567 → 1230000 9876543 → 9880000

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>上4桁目で四捨五入する 「例)」に提示と異なるようです。 提示の例では最大6桁ですが7桁以上の場合を考えなくても良いでしょうか? 次の数式を試してください。 =ROUND(A1,-(MIN(MAX(LEN(A1)-3,1),3)))

  • CygnusX1
  • ベストアンサー率68% (66/97)
回答No.2

4 が 0 になり、5 が 10 になってよければ、 =if(LEN(A1)<4,ROUND(A1,-1),ROUND(A1,-LEN(A1)+3)) 5 〜9も 0 ならば、ROUND(A1,-1)のところを ROUNDDOWN(A1,-1)

関連するQ&A