• ベストアンサー

Excel・ある数値をある数値にしたい(四捨五入とはちょっとちがう汗)

お世話になります。m(。_。;))m ペコペコ… Excel2000です。 ある数値をある数値にしたいのです。四捨五入とはちょっとちがいます。 下↓に示します。 入力する数字 →   表現したい数字 ──────────────────────────── 1.18            1.20 1.19 1.20 1.20 1.20 1.21 1.20 1.22 1.20 ──────────────────────────── 1.23 1.25 1.24 1.25 1.25 1.25 1.26 1.25 1.27 1.25 ──────────────────────────── 1.28 1.30 1.29 1.30 1.30 1.30 1.31 1.30 1.32 1.30 ──────────────────────────── 1.33 1.35 ・・・とまあこんな感じです。どうやって実現すればいいでしょうか? ユーザー定義・・?VBA・・・? どうかよろしくおねがいいたしますm(。_。;))m ペコペコ…

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

  • ベストアンサー
回答No.6

ちょっと複雑な式になりますが。 A1 に値が入っているとすると、 B1 の式は、 = int((a1*100+2)/5)*5/100 でいけます。

aimer
質問者

お礼

ありがとうございます!!シンプルでわかりやすかったです!! しっかし。。なんでこんな式がみちびけるんですかね。。 すごいです(汗

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

その他の回答 (8)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.9

これで出来ませんか? =FLOOR(A1+0.02,0.05)

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.8

下記の2つの方法が検討方法です。 (1)範囲が少ないならVLOOKUP(TRUE型)でできます。   上記よりずっと、自由な区切りも表にするのだから自由です。   ただし表を作るとき、小数点以下の数はダメのようなので100倍した表をつくり、索引する数も100倍して参照する必要があると思います。結果のVLOOKUPの表の第2列目は小数点つきでのOKではないかと思います。 (2)範囲が広いとなると、VLOOKUPの索引表をつくってられません。 この場合に幸い当てはまる、ルールを見抜き、式に作るより他ありません。例外があると難しく、危ない橋を渡っている気がします。 すでにその線の回答は出ています。

aimer
質問者

お礼

すみません、ちょっと私には高度な説明です ごめんなさい・・・m(。_。;))m ペコペコ…

全文を見る
すると、全ての回答が全文表示されます。
  • 134
  • ベストアンサー率27% (162/600)
回答No.7

データがA2から入っているとして こんな感じでいかがでしょうか。 =FLOOR((A2+0.02)*100,5)/100 として、下へコピー

aimer
質問者

お礼

ありがとうございます!!シンプルでわかりやすかったです!! しっかし。。なんでこんな式がみちびけるんですかね。。 すごいです(汗

全文を見る
すると、全ての回答が全文表示されます。
  • Katsu1030
  • ベストアンサー率59% (19/32)
回答No.5

 ごめんなさい、勘違いしてしまいました。  表示だけを変えると言うことなのですね。  セル参照で判定結果を別に表示させるので有れば問題なく出来ると思ったのですが…。  大変失礼しました。

aimer
質問者

お礼

ありがとうございます とりあえず今の時点では 別に表示 させる方法でもかまいません わかりにくくてすみませんm(。_。;))m ペコペコ…

全文を見る
すると、全ての回答が全文表示されます。
  • seiiiichi
  • ベストアンサー率41% (79/190)
回答No.4

入力する数値がA1から縦に並んでいるとします。 B1に、次のように入れてください。 =IF((A1+0.02)-ROUND(A1+0.02,1)<0,ROUND(A1+0.02,1)-0.05,ROUND(A1+0.02,1)) で、あとは、B1のセルを選んだ状態で、 右下の■をドラッグして、ビーと下まで持って行けば できます。 もっと、スマートな方法もあるかもしれません。

aimer
質問者

お礼

あわわわ。。むちゃくちゃアタマよさそうな関数でおそれいります。。 ちょっと計算してみるんですが どこをどうまちがっているのか なかなか計算あいません。。 でも、実際関数を実演してみると あら 不思議、ちゃんとできているのが すばらいしいです。。。 ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。
  • Katsu1030
  • ベストアンサー率59% (19/32)
回答No.3

 こんばんは  ご質問ですが、単純に 「2倍値を四捨五入して半分で割る」で実現可能ではありませんか? A 元の値 B 2倍値 C Bを四捨五入 D Cを半分に A   B   C  D ---------------------- 1.18 2.36 2.4 1.2 1.19 2.38 2.4 1.2 1.2  2.4  2.4 1.2 1.21 2.42 2.4 1.2 1.22 2.44 2.4 1.2 1.23 2.46 2.5 1.25 1.24 2.48 2.5 1.25 1.25 2.5  2.5 1.25 1.26 2.52 2.5 1.25 1.27 2.54 2.5 1.25 1.28 2.56 2.6 1.3 1.29 2.58 2.6 1.3 1.3  2.6  2.6 1.3 1.31 2.62 2.6 1.3 ----------------------

aimer
質問者

お礼

ほんとですね!ありがとうございます!できますね もっとそれをスマートに関数にでもできないかとおもいましたが 直接それを関数に変換・・・ちょっとアタマわるいのでむずかしいですねえ・・

全文を見る
すると、全ての回答が全文表示されます。
  • hiro823
  • ベストアンサー率25% (74/285)
回答No.2

こんばんは。 切り上げと切り捨てのマクロを使えばできます。 例えば... (1)1.18を1.20にする場合 =ROUNDUP(1.18,1) とすると、1.20になります。 (2)1.21を1.20にする場合 =ROUNDDOWN(1.21,1) とすると、1.20になります。 ちなみに、1.20を上記の式ようにROUNDUP/ROUNDDOWNをした場合、どちらも1.20になります。 お試し下さい。 それでは。

aimer
質問者

お礼

んー・・すみません、この場合、 1.27を1.25にしたかったりするので もしかしてそれだと 実現できないんじゃ・・・?わかってなかったら、すみませんm(。_。;))m ペコペコ…

全文を見る
すると、全ての回答が全文表示されます。
  • 6dou_rinne
  • ベストアンサー率25% (1361/5264)
回答No.1

VLOOKUPでできませんか。 またVBAを使えばできますが。

aimer
質問者

お礼

うわ むずかしいです。。。(混乱

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

関連するQ&A

  • 四捨五入、簡単そうで、出来ません・・・

    お世話になります。 さて、 18643.52 この数字を、まず、小数点を四捨五入して 18644 とします。 次に、 18644の数字を、四捨五入して、 18640 としたいです。 一気に、18643.52 から 18640 とする方法は ありますか? 教えて下さい。

  • エクセルで四捨五入

    エクセルで関数を使わずに、一の位から以下を、四捨五入したいのですが、 ユーザー定義でどうしたらいいものか悩んでおります。 ご存じの方がおられましたら、教えて下さい。

  • 範囲指定した箇所の数値を一括で四捨五入したい

    EXCELのマクロで 範囲指定をしたセルの数値(数式ではなく、数字です)を一括で四捨五入(小数点第3位を四捨五入(小数点第2まで表示))した数値を置き換えるマクロを知りたいのですが、調べられずに困っています。 (roundで四捨五入して、それを値だけ貼り付ければ・・と言うことではなく、あくまでもマクロでの方法を教えてください) よろしくお願いいたします。 バージョンEXCEL2000

  • エクセルで四捨五入は可能ですか?

    エクセルについてなんですが、元データの数値をαとして、 α×110%の数値の一の位を四捨五入する計算式ってありますでしょうか? 例えば、「522」とすると、552×110%=574.2ですが、一の位を四捨五入して「570」としたいんです。 恐らく110%にする計算式と四捨五入の計算式がぶつかると思うのですが可能ですか???

  • 小数第1位を四捨五入

    ちょっと混乱してしまったので質問させてください。 エクセルの関数の練習問題集をやってまして、その中で 「小数第1位を四捨五入する」 「小数第1位を切り上げる」 という表現が出てくるのですが、これの答えは小数第1位までの数字になりますか? それとも、小数点なしの数字になりますか? たとえば1.562という数字ならば、上記の四捨五入の場合答えは2になりますか? それとも1.6でしょうか? 学校で数学を習ったのがかなり昔なので、表現がわからなくなりました(^_^;)

  • エクセルで千円単位を四捨五入せずに表示

    エクセルで例えば¥9500を千円単位で表したい場合、セルの書式設定からユーザー定義で #,##0,とすれば千円単位になりますが、四捨五入されて¥10になってしまいます。 これを四捨五入せずに¥9.5と表示させるにはどうしたらいいのでしょう? 誰かわかる人がいれば、知恵を貸してください。

  • エクセルで千円単位を四捨五入せずに表示

    エクセルで例えば¥9500を千円単位で表したい場合、セルの書式設定からユーザー定義で #,##0,とすれば千円単位になりますが、四捨五入されて¥10になってしまいます。 これを四捨五入せずに¥9.5と表示させるにはどうしたらいいのでしょう? 誰かわかる人がいれば、知恵を貸してください。

  • 四捨五入について質問です。

    四捨五入について質問です。 GUIアプリのエディットコントロール画面から、任意の数値を入力させ、 小数点以下n桁で四捨五入をさせたいと考えています。 しかし、なかなかうまくいかないのが現状です。 試したのは以下の通りです。 ・atofを用い、数値を取り込み、下位n桁目を四捨五入 -> 当然だめです ・atoiを用い、数値を取り込み、10^nをかけて整数値にしてから四捨五入 -> 0.05と0.0499...の違いがつけられない やはり文字列処理しかないのでしょうか? (文字列を取り込み、小数点以下n文字目が5以上かどうかで判定、のような・・・) もしよろしければ、皆さんのお知恵をお貸しください。

  • エクセルの表示形式で、10の桁で四捨五入した値を表示させるには?

    エクセルの表で、数字を四捨五入する方法にはROUND関数がありますが、関数で変換すると値そのものが変わってしまいます。 値はそのままで四捨五入した数字で表す方法を教えてください。 小数や一桁の整数までの四捨五入であれば、セルの書式設定・表示形式を「数値」にして小数点以下の桁数を指定してやれば簡単ですが、10の桁以上で丸めて表示させる方法を探しています。 例えば、9876→9880と表示させる書式設定の方法です。 値は計算に使うので、ROUND関数で実際に丸めたくないのです。 ユーザ定義を組み合わせるなどで、うまくできませんか?

  • 下4桁を四捨五入

    エクセルの計算式で出た計を、下4桁を四捨五入した数字を他のセルに表示させたいのですが・・・ 例えば、87,654 を 88,000 というようにです。 分かる方教えてください。

専門家に質問してみよう