• ベストアンサー

Excelの関数で○捨×入?

Excelの関数を使用し、一つのセルで「2捨3入、7捨8入」というのでしょうか、「1の位が2以下のときは0に、3から7の時は5に、8以上の時は繰り上げ」といったことはできるでしょうか?

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

  • ベストアンサー
  • uko
  • ベストアンサー率57% (4/7)
回答No.4

No.2の補足に対する回答です。 もともとのご質問、 「1の位が2以下のときは0に、3から7の時は5に、8以上の時は繰り上げ(10に)」 の中にある数字を”2倍”してみると、 『1の位が4以下のときは0に、6から14の時は10に、16以上の時は繰り上げ(20に)』 となります。これって、四捨五入と同じですね。 つまり元の値を2倍してから四捨五入(ROUND関数が使えますね)すると、 {0,10,20,,,,}という10刻みの数字に変換され、 その変換された結果を2で割ることで、 {0, 5,10,,,,}ってという5刻みの結果が出るってわけです。 つまり[元の値]を[2倍]してから[四捨五入]して最後に[2で割れ]ば良いわけです 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,,,,=[元の値]   ↓ 0, 2, 4, 6, 8,10,12,14,16,18,20,,,,=[×2倍]   ↓ 0, 0, 0,10,10,10,10,10,20,20,20,,,,=[四捨五入]   ↓ 0, 0, 0, 5, 5, 5, 5, 5,10,10,10,,,,=[÷2] これを計算式で表すと、No.2で回答した、  =ROUND(A1*2,-1)/2 になります。 こんな説明でお分かりになりましたでしょうか。 説明にはちょっと自信なし....^_^;

Mifutsuta
質問者

補足

おー!!ありがとうございます。バッチリ理解できました。 申し訳ないですがさらにややこしい質問を・・・ 今回の質問の場合、運良く2倍で四捨五入ができるようになりましたが、もし「1の位が3以下のときは0に、4から6の時は5に、7以上の時は繰り上げ(10に)」 なんてことになるとどう考えればいいのでしょうか? すみません、毎回変な質問してしまってm(__)m

その他の回答 (5)

  • uko
  • ベストアンサー率57% (4/7)
回答No.6

No.5の回答を訂正させてください。 =IF(--RIGHT(A1,1)<3,ROUNDDOWN(A1,-1),IF(--RIGHT(A1,1)>7,ROUNDUP(A1,-1),CEILING(A1,10)-5)) かな?

  • uko
  • ベストアンサー率57% (4/7)
回答No.5

No.4の補足に対する回答です。 > もし「1の位が3以下のときは0に、4から6の時は5に、7以上の時は > 繰り上げ(10に)」 なんてことになるとどう考えればいいのでしょうか? どう考えればいいんでしょうね。(笑) ご質問のように様々なパターンに対応するとなると、なかなか難しいです。 IF文を使用するのが一番わかりやすかったです。 =IF(AND(--RIGHT(A1,1)>=3,--RIGHT(A1,1)<=7),ROUND(A1*2,-1)/2,ROUND(A1,-1)) 一の位が3~7の場合は、前に回答した方法で一の位を5とする四捨五入、 それ以外のときは、普通に四捨五入。といったように場合分けしてみました。 上の例は【3から7の時は5にする場合】ですので、【4から6の時は5にする場合】に対応する際は、下の例のようにAND文の中の数字を変更してください。 =IF(AND(--RIGHT(A1,1)>=4,--RIGHT(A1,1)<=6),ROUND(A1*2,-1)/2,ROUND(A1,-1)) 注意事項としてはANDの範囲に必ず5が含まれるようにしないといけないってことですかね。

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

もっと極く簡単にA列に数値が入っているとして B列に「=INT(A1+c)」でいかがですか。 cには四捨五入では0.5を使いますが、1より○入の 数を引いた数、0.1、0.2、0.3・・・のどれか1つを適当に選べば良い。小数点第2位の四捨五入等なら 0.002とかを使えば良い。値が正の数とかの 制約にはご注意を。 A列に値を0.1(あるいは0.001)刻みで入れて、上記関数を複写し結果を確認してください。 1例として「=INT(A7+0.7)」。

  • uko
  • ベストアンサー率57% (4/7)
回答No.2

スイマセン。再登場ですが。 =ROUND(A1*2,-1)/2 これでよかったですね。

Mifutsuta
質問者

補足

ありがとうございます。 できるにはできたのですが、この式ができた手順を教えて下さい。 なぜ「2」をかけているのでしょうか?

  • uko
  • ベストアンサー率57% (4/7)
回答No.1

A1のセルの値を○捨×入するとして、 正の数だけなら、 =IF(A1<2,0,CEILING(A1-2,5)) 正負両方なら、 =IF(AND(A1<2,A1>-2),0,IF(A1<0,-CEILING(-A1-2,5),CEILING(A1-2,5))) でいいでしょうか。

関連するQ&A

  • 2捨3入7捨8入の関数について

    計測関係の仕事をしており。2捨3入7捨8入の考えが必要で質問させていただきました。 例1)1.2474⇒1.2475(2捨3入) 例2)5.0407⇒5.0405(7捨8入) 例3)2.5248⇒2.5250(7捨8入) 例4)0.6292⇒0.6290(2捨3入) このように、エクセル関数を用いて2捨3入7捨8入を行いたいのですが、どのような関数を使うべきでしょうか。 なお、一つの関数の中に2捨3入7捨8入の算出ができないと意味がありません。 お手数をかけ致します。 なにとぞ、ご教授ください。

  • エクセルで3捨4入

    企業の賃金表の計算をエクセルで行っているのですが、4捨5入ではなく、3捨4入をしたいのですが、どうしたらいいでしょうか? 関数を探したらないようなのですが、何か良い方法はないでしょうか? 教えてください。お願いします。

  • エクセルで2捨3入をしたいのですが・・・

    仕事でエクセルを使っています。 たとえば答えが1.15なら1.0を返し、1.30や1.65なら1.5を、1.80なら2.0を返す、といったような、2捨3入の計算式にするにはどうしたらいいのでしょうか?

  • エクセルで小数点第2位以下を切り捨てないで5捨6入

    こんにちは。エクセルで小数点第1位を5捨6入をしたいのでご教示ください。 通常でしたら、ROUND(A1-0.1,0)等とすれば良いのですが、今回は、0.50001のようなものについても5捨6入として1へ切り上げたいのです。(正しくは5捨6入とは言わないかもしれません)つまり、0.5を少しでも上回る数は1へ切り上げ、0.5より小さい値は切り捨てをしたいのです。 お手数でございますが、このような“切り上げ”“切り捨て”の方法についてご教示いただければ幸いです。

  • 関数の使い方について

    関数の使い方について =ROUND(0.0004670361+0.06295987*□+0.000007361062*□*□-0.00000001242265*□*□*□,4)という数式があります。 (1)その□に「20」を入れると、「1.2625」という数字が返されます。 (2)その□に「40]を入れると、「2.5298」という数字が返されます。 (3)その□に「50]を入れると、「3.1653」という数字が返されます。 (4)その□に「30]を入れると、「1.8956」という数字が返されます。 ある作業に必要な為、小数点以下4桁目は「0」と「5」の表示にしなければいけない為、小数点以下4桁目を「2捨3入」「7捨8入」をして出力値として数字を丸めないといけません。 (1)の場合は問題ないですが、(2)、(3)の小数点以下4桁目は、「8」と「3」になっています。 要するに(2)の「2.5298」⇒「7捨8入」⇒「2.5300」 (3)の「3.1653」⇒「2捨3入」⇒「3.1655」 ちなみに(4)「1.8956」は「1.8955」となります。 以上のように、関数を使って「2捨3入」「7捨8入」を行ないたいのです。 ご教授ください。

  • 関数の使い方について

    関数の使い方について =ROUND(0.0004670361+0.06295987*□+0.000007361062*□*□-0.00000001242265*□*□*□,4)という数式があります。 (1)その□に「20」を入れると、「1.2625」という数字が返されます。 (2)その□に「40]を入れると、「2.5298」という数字が返されます。 (3)その□に「50]を入れると、「3.1653」という数字が返されます。 (4)その□に「30]を入れると、「1.8956」という数字が返されます。 ある作業に必要な為、小数点以下4桁目は「0」と「5」の表示にしなければいけない為、小数点以下4桁目を「2捨3入」「7捨8入」をして出力値として数字を丸めないといけません。 (1)の場合は問題ないですが、(2)、(3)の小数点以下4桁目は、「8」と「3」になっています。 要するに(2)の「2.5298」⇒「7捨8入」⇒「2.5300」 (3)の「3.1653」⇒「2捨3入」⇒「3.1655」 ちなみに(4)「1.8956」は「1.8955」となります。 以上のように、関数を使って「2捨3入」「7捨8入」を行ないたいのです。 ご教授ください。

  • エクセル関数に関して(25捨75入) 再質問

    先日同様の質問をさせていただきましたが、私の質問内容不足だったようでうまいことできないようなので再度質問させていただきます。 前回の質問内容は ---------------------------------------------------------------- 四捨五入の応用で、24捨25入(74捨75入)の数式が知りたいです。 (ようは下二桁を50か100単位に切捨てもしくは繰り上げしたいです。) 例えば関数の数値が以下左側のような数値の場合に 24捨25入(74捨75入)して右側の数値で表示させたいです。 「1224」⇒「1200」・「1225」⇒「1250」 「1274」⇒「1250」・「1275」⇒「1300」 ---------------------------------------------------------------- 補足・追加として現状エクセルデータに下記数式が入力しています。  =(A1-50)*0.5+50 A1⇒16800  この数式により8425と表示されています。 この数式の8425を24捨25入して8450にしたいのです。 この場合はどのような関数を使えばよいのでしょうか? 初心者な内容・説明で申し訳ありませんがご回答宜しくお願い致します

  • 5捨6入の方法

    以下の結果になるように五捨六入したいのですが、 何か簡単な関数はありますでしょうか? ご存知の方がいらしたら教えてください。 ちなみに、 =IF([セル]>0.5,ROUNDUP([セル]-0.5,0),IF([セル]<-0.5,-ROUNDUP(ABS([セル])-0.5,0),0)) が自分の作った式です。 5.500⇒5 5.501⇒6 3.500⇒3 3.510⇒4 0.000⇒0 -0.200⇒0 -0.500⇒0 -0.501⇒-1

  • EXCEL関数 上四桁目を3捨4入

    エクセル初心者です。EXCEL関数 上四桁目を3捨4入ってどうすればいいでしょう。。とほうにくれています。

  • エクセル関数について教えてください

    エクセルで計算した結果の小数点以下を4捨5入ではなく 5捨6入する方法、小数点以下を切り捨てる方法を教えてください。

専門家に質問してみよう