• ベストアンサー

金額の下三桁の数値を980円等に統一するには?/excel

こんにちは。 商品の価格一覧のリストがあります。 商品の価格はこのように様々ですが、 \11980 \19980 \8523 例えば\8523というのはちょっと細かいので下三桁を980にして\8980と変換したいのです。 その他の価格についても下三桁をすべて980などのわかりやすいものにしたいのですが、置換しようにも元々の価格がバラバラなのでできない状態でしてほとほと困っています。 桁数が様々な金額の下三桁だけを980に統一する良いアイデアなどありましたらお知恵お貸しください。

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

  • ベストアンサー
  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.1

A1が1000以上のセルなら =ROUND(A1,-3)-20 1000円単位で四捨五入して-20しています。切り上げ・切捨てならrounddownやroundup関数をお使いください。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

判るようで、判らない質問の書き方と思いますよ。 もう少し緻密に考え表現しないと。 >三桁をすべて980などのわかりやすいものにしたいのですが 1-980まで 端数つきでよいのか。980円に値上げ? 980-1000 980にするのか 1000-1980 どこまでを980にするのか >\8523というのはちょっと細かいので下三桁を980にして\8980 値上げもあるの? なぜ980円がわかりやすいの? 円単位を切り上げ・切捨てではだめなの? ーー =IF(A1<=1000,MIN(A1,980),(INT(A1/1000)-1)*1000+980) なんて考えたが、自信なし。 あるいは1千円単位を切り上げて(丸め)、20円引くのが質問者の意図に近いのかな。

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.5

仮に 1000円のものは 1980円? それとも 980円? 前者だったら、旧価格のほぼ2倍。  ということで、下3桁 981~000 の扱いが 説明不足。

回答No.4

A列に金額、B列に統一した金額を表示させます。 =VALUE(IF(RIGHT(A1,3)=980,,SUBSTITUTE(A1,RIGHT(A1,3),980))) 下三桁が980ではない時に、それを980に置き換えます。 関数の結果は文字列なので、VALUEで数値に変換しています。

  • TinyPine
  • ベストアンサー率30% (719/2386)
回答No.3

元の価格のセルが別にあるならそこがAだとしたら =int(A1/1000)*1000+980 ではいかがですか。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

a1に元の価格があるとして、無条件に下三桁を980円にするなら =INT(A1/1000)*1000+980 または =ROUNDDOWN(A1,-3)+980 で良いのですが、これだと10円の商品も980円になります ですから1001円以上なら下三桁を980にするようにします =IF(A1>1000,INT(A1/1000)*1000+980,A1) または =IF(A1>1000,ROUNDDOWN(A1,-3)+980,A1) でどうでしょう

関連するQ&A