特定の数字を切り捨てにする計算式

このQ&Aのポイント
  • セルA1には「1100」と言う数字が記載されています。次にB1~B47は上から順番に「300」「325」「350」「375」「400」「425」「450」「475」「500」「525」「440」「468」「495」「523」「550」「578」「605」「633」「660」「688」「715」「743」「770」「798」「825」「853」「880」「908」「935」「963」「990」「1018」「1045」「1073」「1100」「1128」「1155」「1183」「1210」「1238」「1265」「1293」「1320」「1348」「1375」「1403」「1430」の数字が記入されています。
  • セルC1に、上記数字のどれかを記入するとセルD1には((C1で選択した数字÷A1)×100)の計算式を表示させます。表示させる数字は四捨五入し小数第一位(例えば300だと27.3、350では31.8など)と言うルールです。
  • 質問は、C1セルに「325」「523」「633」「688」「743」「798」「853」「908」「963」「1018」「1073」「1128」「1183」「1238」「1293」「1348」「1403」の数字を入力した場合に、D1に小数第2位を切り捨てて表示する計算式を組むことができるかどうかです。
回答を見る
  • ベストアンサー

特定の数字だけ四捨五入せず切り捨てにする計算式

セルA1には「1100」と言う数字が記載されています。 次にB1~B47は上から順番に「300」「325」「350」「375」「400」「425」「450」「475」「500」「525」「440」「468」「495」「523」「550」「578」「605」「633」「660」「688」「715」「743」「770」「798」「825」「853」「880」「908」「935」「963」「990」「1018」「1045」「1073」「1100」「1128」「1155」「1183」「1210」「1238」「1265」「1293」「1320」「1348」「1375」「1403」「1430」の数字が記入されています。 そしてセルC1に、上記数字のどれかを記入するとセルD1には((C1で選択した数字÷A1)×100)の計算式を表示させます。表示させる数字は四捨五入し小数第一位(例えば300だと27.3、350では31.8など)と言うルールです。 そこで質問ですがC1セルに「325」「523」「633」「688」「743」「798」「853」「908」「963」「1018」「1073」「1128」「1183」「1238」「1293」「1348」「1403」の数字を入力した場合はD1は小数第2位の所で切り捨て(例えば325では29.5、523では47.5など)と言う計算式などをD1に組む事は出来るのでしょうか?

noname#247334
noname#247334

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

>今回のは難題なので私は良く分かりませんね。 はて?? ROUND関数やCOUNTIFと言った、ごく当たり前のモノしか使ってません。 難しいところはどこにも無いと思いますが、回答した数式の一体どこが判らなかったのですか? >計算式で無くエクセルVBAを使用すると出来るのでしょうかね? 回答したように、計算式で十分にできています。何が聞きたかったのでしょうねぇ? 少なくとも、これはマクロでないと出来ないようなご相談ではありません。 #感想もいいですけど、それよりあなたの問題を解決するための質問をしてください。

noname#247334
質問者

お礼

補足の件はすいませんでした。全然難しくなく最適な方法でした。そして基礎的な内容でしたね。今度は自分でちゃんと考え調べて分からなければ質問します。 この度はありがとうございました。

その他の回答 (3)

  • shorun
  • ベストアンサー率42% (133/310)
回答No.4

>今回のは難題なので私は良く分かりませんね。 No2回答者さんが指摘の通り、難問ではありませんよ、 エクセルの一番右上のバツ×印の直ぐ下にある?ボタンをクリックしてから 次の2個の関数を勉強しましょう。 (ア)if を入力してクリックして、該当するところを調べる。 (イ)切捨て切上げ を入力してクリックして、該当するところを調べる。 もし勉強する時間がなく急ぎなら次の方法で答を出すことはできます。 しかし、他の場合に応用できませんから、前記(ア)(イ)等の他参考書で初歩的な関数を勉強するように習慣づけてください。 とりあえず答だけが必要なら 特定の数字をセルE1からE17 (邪魔にならない列ならどの列でも良い) に入力しておいて セルD1に次の式をコピーして貼り付けるか、または次のとおりに入力する。 =IF(COUNTIF(E1:E17,C1)=1,ROUNDDOWN(C1/A1*100,1),ROUND(C1/A1*100,1)) ただし、特定の数字を他の列に入力(例えばG列)するなら 上式中のE1:E17はG1:G17に書き換えること。

noname#247334
質問者

お礼

難題ではありませんでした。自分で解決しようとせず人に頼りすぎた私がいけませんでした。これからは自分で考え本当に分からなければ相談します。この度は私の為に時間を割いていただきありがとうございました。

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

 まず、 >そしてセルC1に、上記数字のどれかを記入すると という件に関しては、C1セルに入力規則のドロップダウンリストを設定する事で、B1~B47に入力されている値の中から選択した値を入力する事が出来る様にして下さい。  その際、「元の値」欄には $B$1:$B$47 と入力する様にして下さい。  もし、ドロップダウンリストの設定方法が判らない場合には、下記の参考URLのページを参考にして下さい。 【参考URL】  よねさんのWordとExcelの小部屋 > Excel2007基本講座 > 入力規則の使い方【リスト編】 > 同一シートのリストを使う   http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html#risuto  次に、 >上記数字のどれかを記入するとセルD1には((C1で選択した数字÷A1)×100)の計算式を表示させます。表示させる数字は四捨五入し小数第一位(例えば300だと27.3、350では31.8など)と言うルールです。 >C1セルに「325」「523」「633」「688」「743」「798」「853」「908」「963」「1018」「1073」「1128」「1183」「1238」「1293」「1348」「1403」の数字を入力した場合はD1は小数第2位の所で切り捨て(例えば325では29.5、523では47.5など)と言う計算式などをD1に組む事は出来るのでしょうか? という件に関しては、F1~F17の範囲に「325」「523」「633」「688」「743」「798」「853」「908」「963」「1018」「1073」「1128」「1183」「1238」「1293」「1348」「1403」の数字を入力しておいた上で、D1セルには次の様な関数を入力されると良いと思います。 =IF(COUNT($A1,$C1)=2,ROUND($C1/$A1*100,1+(COUNTIF($F:$F,$C1)>0)),"")  尚、もしも、F列等に「325」「523」「633」「688」「743」「798」「853」「908」「963」「1018」「1073」「1128」「1183」「1238」「1293」「1348」「1403」の数字を入力しておく事をせずに、関数だけで同じ事をする場合には、D1セルには次の様な関数を入力されると良いと思います。 =IF(COUNT($A1,$C1)=2,ROUND($C1/$A1*100,1+ISNUMBER(MATCH($C1,{325,523,633,688,743,798,853,908,963,1018,1073,1128,1183,1238,1293,1348,1403},0))),"")

noname#247334
質問者

お礼

凄いですね、この様な方法もあるのですね。今回は基礎的な内容で解決出来る範囲でした。今度はちゃんと調べ本を見て分からなければ相談します。この度はありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

数列にあんまり明確な規則性が無いので、簡易にF1からF17に「325」「523」「633」「688」「743」「798」「853」「908」「963」「1018」「1073」「1128」「1183」「1238」「1293」「1348」「1403」を列記(実際には上から詰めて並べなくても構わない) D1には =ROUND(C1/A1*100-0.05*COUNTIF(F:F,C1),1) とでもしておきます。 もちろん =IF(あったら,ROUNDDOWN(計算,1),ROUND(計算,1)) とかでもできます。

noname#247334
質問者

お礼

補足の件はすいませんでした。全然難しくなく最適な方法でした。そして基礎的な内容でしたね。今度は自分でちゃんと考え調べて分からなければ質問します。 この度はありがとうございました。

noname#247334
質問者

補足

なるほど、数字に規則性が無いため非常に難しいですね。 計算式で無くエクセルVBAを使用すると出来るのでしょうかね? 今回のは難題なので私は良く分かりませんね。

関連するQ&A

  • 四捨五入と切り捨て

    平均を出す問題について教えてください。 「答えは、小数点以下を切り捨てにして整数で出す。あらかじめ概数にして計算する」とあった場合、「あらかじめ概数にして」というのは、切り捨てにすればよろしいのでしょうか? それとも、四捨五入でしょうか? 教えてください。

  • 切り捨て、切り上げ、四捨五入

    数学で切り捨て、切り上げ、四捨五入を習いましたが、正の数だけでした。 最近、マイナス値についての切り捨て、切り上げ、四捨五入を考えるようになりました。 切り捨て-4.2なら-4?-5?-4.8なら-4?-5? 切り上げ-4.2なら-4?-5?-4.8なら-4?-5? 四捨五入-4.2なら-4?-5?-4.8なら-4?-5? の時、それぞれいくつになるのでしょう? コンピュータで計算したいときはほしい結果がわかっているので使い分けできますが、 数学の定義としてどちらが正しいかを教えて下さい。

  • エクセル 切捨てや、四捨五入で出た値の集計式

    切捨てや、四捨五入で出た値を集計すると、多少の誤差が出る場合があります。どの様な数式にすればいいでしょうか。例題を下記にしるしましたので具体的に教えて下さい。     A          B         C 1   293,500      17,610 2   349,750      2,099       15,512 A1とA2は既定値。B1は、TRUNC(A*0.006,0)で小数点以下切捨て。 B2は、SUM(A2*0.006)で小数点以下四捨五入。 C2は、SUM(B1-B2)。 C2の正解は15,511ですが、1多い答えがでます。

  • 四捨五入で計算された数字を、整数で返す関数を教えてください。

    エクセルで見積金額をだす時に、小数点以下非表示で計算すれば、100.4+100.9+100.4=301.7 302となります。 関数を使い小数点第1位四捨五入で、これを301にしたいのです。 小数点第一位を四捨五入して整数で返すと言うのでしょうか? (小数以下斬り捨てだと、300になります。INT関数がそうなのでしょうか?) すみません、関数がまだ良く分かりません。間違っていたり説明がまずかったなら、ごめんなさい。

  • 四捨五入の計算式は?

    エクセルで、小数点3位を切り捨ての計算式が↓です。 =ROUNDDOWN((RC[-8]*RC[-6])+(RC[-4]*RC[-2]),2) 小数点3位を四捨五入する場合の計算式は?どのようにすればいいのでしょうか?

  • 小数点4桁での四捨五入がうまくいきません

    エクセルで次のような計算をさせます。 A2 に1.8、B2に0.075、C2に0.075、 D2に= A2*B2*C2 、E2に=roundup(D2,4) D2の計算結果は 0.010125 です。小数点第5桁目の値を参照して第4桁目で四捨五入したいのですが、roundupでは0.0102、rounddownでは0.0101です。 表示させたいのは0.0101です。この場合、rounddownを使えば問題ないのですが、逆にrounddownだと小数点以下4桁目の四捨五入がうまくいかない場合もあります。 例えば A3に2.7 B3に0.08、C3に0.08 があり、E3にすべての値を掛けた結果を表示させると0.01728となります。 =roundup(E3,4)では0.0173となり、rounddownでは0.0172となります。この場合はroundup関数の結果である0.0173が求める数値です。 A列、B列,C列に任意の数字が入り、E列に4桁目で四捨五入した正確な値を求めたいのですが、なにか良い方法はないでしょうか。 VBAを使っても構いません。ちなみにこれは木材の材積計算に使用する目的です。 よろしくお願いします。

  • 化学での有効数字について(途中計算)

     以下についてアドバイスいただけると助かります。  有効数字について  和・差について・・・小数点以下の桁数が少ない方に合わせる  積・商について・・・桁数が少ない方に合わせる  については、分かったのですが、有効数字3桁での指定があるときに  19.1、24.5889、0.12553、3.2952の4つの数にたいして  ○和を筆算で求める場合    小数第1位に合わせるために、    19.1→19.10(小数第2位表示)    24.5889→24.58(小数第3位切り捨て)    0.12553→0.12(小数第3位切り捨て)    3.2952→3.29(小数第3位切り捨て)  として和を求め、小数第1位(小数第2位四捨五入)にする  ○積を筆算で求める場合    有効数字3桁に合わせるために、    19.1→19.10(有効数字4桁表示)    24.5889→24.58(5桁目切り捨て)    0.12553→0.1255(5桁目切り捨て)    3.2952→3.295(5桁目切り捨て)  として積を求め、有効数字を3桁(4桁目は四捨五入)にする  と思っています。  1.このやり方で大学受験では問題ないのでしょうか。    特に気になっているのは、計算をする前の丸め方(すべて切り捨てにしているところ)です。  2.計算ステップがいくつもあり、一度に計算ができない場合、そのステップ毎に得られる数の    丸め方は切り捨て・四捨五入のどちらがよいのでしょうか。  よろしくお願いします。    

  • 計算結果値そのものの切り捨て、四捨五入

    EXCEL97で割り算の計算結果です。 例えば、5÷3=では、内部数値が、1.666666…となりますが 内部数値を (1)小数点以下2桁と切り捨てたい         →1.66になる (2)少数3桁目を四捨五入して小数点以下2桁としたい →1.67になる にするにはどうするのですか? 該当セルの見かけ表示の設定で(1)、または(2)にするのではなく、 値そのものを調整したいのです。

  • Excel 2000 四捨五入について教えて下さい

    セルの書式設定で 表示形式        通貨 小数点以下の桁数    0 としてます。 そうすると、四捨五入されてしまうのですが、止める方法はありますか。 やりたいこと・・・・・・  A列         B列 整数部       小数点以下 A列に小数混じりの数字を記入するとB列に少数以下の文字を返す。 A列は整数部のみを表示する。 A列に25.5を記述すると A | B 25 | 5 B列関数  =IF(A6="","",IF((A6-INT(A6))*10=0,"",(A6-INT(A6))*10)) A列には関数は入れてません。 すみません。宜しくお願いします。 ついでに・・・・・ 623,154,241.5 上の値を桁区切りでセル別に表示させることは可能でしょうか?? A | B | C | D | 623 | 154 | 241 | 5 | の様にさせたい。 無理なら良いです。 なるべくVBAを使用したくありません。 最悪は使用してみようと思いますが。 宜しくお願いします。

  • 四捨五入について

    技術評論社より出版の、「C言語による最新アルゴリズム事典」(奥村晴彦著)の「四捨五入」の項目について質問です。 「a >= 0, b > 0の2整数について、a / bを四捨五入で小数第一位までに丸める方法」が以下のように書かれています。 整数型変数rを使って、 r = (10 * a + b / 2) / b; printf("a / b = %d.%d\n", r / 10, r % 10); rには、結果の小数a.bが10 * a + bの形に入ることになるのでしょうが、何故そうなるのかわかりません。 どうかご教授ください。m(__)m

専門家に質問してみよう