[[20170814161453]] 『小数第3位未満四捨五入について』(もも) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『小数第3位未満四捨五入について』(もも)

前回、質問が不明確でしたので改めてお尋ねいたします。
以下のように小数第3位未満四捨五入したいのですが1本の書式でできるでしょうか。よろしくお願いいたします。(もも)

1,234.5996を1,234.6(00)
1,234.51998を1,234.52(0)
0.59を0.59
1,234.9999を1,234

< 使用 Excel:Excel2013、使用 OS:Windows10 >


四捨五入の表現方法としては、「〜の位で四捨五入する」「小数点以下を四捨五入する」
「四捨五入して、〜の位までの概数にする」「四捨五入して、上から〜桁の概数にする」
などがありますが、「小数第3位未満(を)四捨五入(する)」という表現はないように思います。
例示から推測するに、「小数第4位の位を四捨五入して小数第3位までの概数にする」と
いうことではないでしょうか。ただし、この場合、例示の4番目「1,234.9999を1,234に」
は誤りで、正しくは「1,234.9999を1,235に」ではないかと思いますが。どうでしょうか。
これならば、ROUND関数で「=ROUND(A1,3)」(処理対象数値がA1セルにあるとして)を
表示したいセルに入力することで実現できますが・・・
(かっぱ) 2017/08/14(月) 21:57

 新たにスレッドを立ち上げるのではなく、↓に続けるようにしましょう。

[[20170813222302]] 『四捨五入について』(もも)
(とおりすがり) 2017/08/14(月) 22:00


とおりすがり様、早速のご返事ありがとうございます。
「1,234.9999を1,235に」が正しいです。間違てしまってご迷惑をおかけしました。
また、この掲示板の操作が詳しくなく申し訳ございません。

小数第3位未満四捨五入はおっしゃる通り小数第4位で四捨五入ということです。私どもの業界(珠算)
では小数第3位未満四捨五入という言葉を使用しています。
小数第4位で四捨五入して出た0は小数第3位までつけてもつけなくてもいいという決まりなので
例えば計算結果が3.43995なら答えを3.44(0)と表記したいのです。しかし計算結果が3.92なら末位に
0をつけません。3.92のままです。また答えには3桁ごとにコンマが必要で、整数の答えには小数点を
つけません。
大変面倒ですがこれらを処理できる書式が可能でしょうか。
なにとぞよろしくお願いいたします。 もも

(もも) 2017/08/14(月) 23:15


 >私どもの業界(珠算) では小数第3位未満四捨五入という言葉を使用しています。
 何も問題ないと思いますけどね。全国的に統一して貰ったら、むしろ分かり易い。

 次の2つはどうなるんですか?(10.10は存在しない?)
 10.1
 10.10

 因みに、元となる数値データは手入力ですか?(計算の結果値だと厄介な小数演算誤差問題が絡みます)

(半平太) 2017/08/15(火) 08:41


(半平太)様、ご返事ありがとうございます。
乗算や除算の答えを小数第3位未満四捨五入したいのです。
10.1は10.1
10.10は10.1となります。小数第3位未満四捨五入した結果出た0は小数第3位までつけてもつけなくても良いため、例えば3.250または3.25でこれを一つに表すため3.25(0)としたいのです。また計算結果が63.4のように四捨五入しなかった答えには63.400のように0をつけたら間違いとなります。
整数部分にはコンマが必要ですし整数だけの答えには小数点がつけないでほしいのです。
大変ややこしく下手な説明で申し訳ございませんがなにとぞよろしくお願いいたします。もも。
(もも) 2017/08/15(火) 22:59

ももさん

横から失礼します。

http://harikofu.blog.fc2.com/blog-entry-792.html?sp

を御覧いただき、最後の書式の設定を####,##0.###とすれば
できるようです。

ただし、小数点は見えないものの、その場所はとられてしまうようですが・・・ 
(パオ〜〜ン) 2017/08/16(水) 11:12


 1.対象データは、A列の1行目以下にあるものと仮定します。

  ※もし、対象セルに数式が入っている場合は、以下に変更してください。
                        ↓
                  =ROUND(今までの数式,12)

 2.通常の書式(表示形式)を設定する
   #,##0;[赤]-#,##0

 3.次に「条件付き書式」を設定する

  (1) 条件式 
    =(LEN(A1)-FIND(".",A1)>3)*(LEN(ROUND(A1,3))-FIND(".",ROUND(A1,3)))=2
                            γさんご指摘の通り↑こっちが1です。18:30訂正
    書式(表示形式) 種類
    #,##0.0(!0!0);-#,##0.0(!0!0);0;@

  (2) 条件式 
    =(LEN(A1)-FIND(".",A1)>3)*(LEN(ROUND(A1,3))-FIND(".",ROUND(A1,3)))=1
                            γさんご指摘の通り↑こっちが2です。18:30訂正
    書式(表示形式) 種類
    #,##0.00(!0);-#,##0.00(!0);0;@

 (3) 条件式 
   =OR(LEN(A1)-FIND(".",A1)<=3,(LEN(A1)-FIND(".",A1)>3)*(LEN(ROUND(A1,3))-FIND(".",ROUND(A1,3)))=3)

   書式(表示形式) 種類
   #,##0.###;-#,##0.###;0;@

(半平太) 2017/08/16(水) 12:05


半平太さんの(1)と(2)は条件と書式のいずれかが逆転していないですか?
私の勘違いなら失礼。
(γ) 2017/08/16(水) 13:44

 ありゃ! 取り違えてしまいました。

 γさん ご指摘有難うございます。

 訂正を入れておきました。

(半平太) 2017/08/16(水) 18:29


お二人からご指導いただきましたが、当方初心者なものでどこになにを入れてよいものやら
まだ解決には至っておりません。
A1セルに対象となる数字(書式あり)があるとして、b1に小数第3位未満四捨五入した数字を
出したいのです。

(パオ〜〜ン)様のも読みましたが説明の最初で、 対象のセルを1つだけ選択して....のところが
私の場合A1セルなのかb1なのかわかりませんでした。

 (半平太)様、長文のご説明ありがとうございました。A1セルに対象となる数字(書式あり)が
あるとして、b1に小数第3位未満四捨五入した数字を出したいのです。
大変申し訳ございませんがどのセルに表示形式を設定し何番の書式を入れればよいか
再度教えていただけないでしょうか。3種類の書式をどのように入れるのか教えていただきたいのです。 (もも)

(もも) 2017/08/16(水) 22:29


 >A1セルに対象となる数字(書式あり)があるとして、
 >b1に小数第3位未満四捨五入した数字を出したいのです。 

 別セルに出すのでしたか・・

 1.再度、お尋ねします。
  対象となる数字は手入力ですか?
  それともそのセルには数式が入っていて表示されている数字ですか?

  数式の場合、どんな数式ですか? 具体的に2つほど掲示してください。

 2.どんな書式ですか?
              ↓
 >A1セルに対象となる数字(書式あり)
(半平太) 2017/08/16(水) 23:10

 こんばんわ。

 半平太さんの回答ですけど、1.2901 とかだと、1.3(00) になりますね。
 少数2位を四捨五入になってるけど、これで良いのかな?

 質問者さんへ

 何で 1,234.9999 は 1,235 になるんですか?
 少数4位を四捨五入した結果で、少数1位から3位までが0になってるので以下に該当するんじゃないんですか?
 >小数第3位未満四捨五入した結果出た0は小数第3位までつけてもつけなくても良いため
 1,235.(000) と言う表記にはならないんですか?

 それと、以下の条件では、
 >例えば3.250または3.25でこれを一つに表すため3.25(0)としたいのです。
 3.250 は四捨五入した結果0になった訳では無いので、3.25 じゃないと駄目なんじゃ無いんですか?

 もっと沢山の例が欲しいですね。
 以下の時はどう表示するんですか?
 1.0001
 1.1001
 1.1101

(sy) 2017/08/16(水) 23:15


 半平太さん

 失礼しました。
 式を修正したんじゃなくて、補足説明のように修正すると言う事なんですね。
 私の半平太さんあての文面は無視して下さい。
 申し訳ありませんでした。

(sy) 2017/08/16(水) 23:20


 syさん

 分かりにくい修正で済みませんでした。

 いずれにしても「別セルに表示する」と言う話の展開になっているので、
 今までのは、完全に無いものとしてください。

(半平太) 2017/08/16(水) 23:27


横から失礼。

 >何番の書式を入れればよいか
 一つだけで対応できるようなものではありません。
 これらの全部を使う必要があります。

 「条件付き書式」をまず調べてきちんと理解してください。

 「数式を使用して条件付き書式を設定するには」
https://www.wanichan.com/pc/excel/2013/7/06.html
 が参考になるでしょう。

 半平太さんの指摘にあるように、
 まずB1に通常の書式(表示形式)を指定します。

 次に、「条件付き書式」を設定します。

 「数式を使用して、書式設定するセルを決定」
 というのを使って、指定された「数式」を入力します。

 そして、「書式」をクリックして、「表示形式」を指定します。

 この二つのペアでワンセットです。

 これを記入されたとおり、3セット繰り返して指定します。

 -----------------------------------------------
 A列           B列
 元々の数値    式で端数処理した後の数値
 としたいとしても、お望みの書式にするには、
 B列の情報だけでなく、A列の情報を使う必要があります。

 というのは、
 1.1999 は 1.2(00) と表示し、
 1.2    は 1.2      と表示するわけですから、
 端数処理後Round(,3) としたあとは、両方は区別がつきません。
 ですから、元の数値を見なければいけません。

 B列は =A1 と同じ数値にしておき、
 A列の情報を用いて B列の表示形式を整えればよいと思います。

(γ) 2017/08/16(水) 23:48


 B1に「文字列」で表示する案です。

 1.もし、A1セルに数式が入っている場合は、
   以下に変更してください。

   =ROUND(今までの数式,12)

 2.B1セルに下式を入力して、下にコピー

  =TEXT(ROUND(A1,3),IF(FIND(".",ROUND(A1,3)&".")-1=LEN(ROUND(A1,3)),"#,##0","#,##0.###"&IF(LEN(A1)-FIND(".",A1)>3,CHOOSE(MIN(3,LEN(ROUND(A1,3))-FIND(".",ROUND(A1,3))),"(00)","(0)",""),"")))

 <結果図>
  行  _____A_____  _____B_____
   1   1234.6       1,234.6
   2   1234.5996    1,234.6(00)
   3   1234.51998   1,234.52(0)
   4   1000.59      1,000.59
   5   1234.9999    1,235
   6   1234         1,234
   7     11.1          11.1
   8     11.11         11.11
   9     11.111        11.111
  10     11.1111       11.111
  11     11.1112       11.111
  12     11.1115       11.112
  13  -2022.2345   -2,022.235

(半平太) 2017/08/17(木) 15:01


 内容が重複している他の2つのトピックは、何か断りを入れて閉じてください。

(半平太) 2017/08/17(木) 15:06


 質問者さんは
 >小数第3位未満四捨五入したいのですが1本の書式でできるでしょうか。
 と「1本の書式」でというのが望みのようですが、
 それにこだわるなら、
 「それは無理。あきらめて下さい」というのがたぶん答でしょう。

 ひとつの書式で簡単にできるでしょ、と思っているのかもしれないが、
 結構複雑です。まず無理だと思います。(*1)
 演算誤差の話も裏でからんできますので、結構面倒です。

 表示形式という書式を、ケース毎に(条件毎に)使い分ける必要があります。
 こういう場合、Excelが特別に用意している
   「条件付き書式」
 という機能を使うのが得策です。

 もし、そんなの聞いたこともないし、使う気にならない、ということなら、
 あきらめてください。
 手作業でセルひとつひとつを自分で判断し、
 複数の表示形式を使い分けて設定してください。

 (*1)
 [ ]式で条件を使って、条件分岐をしても表示形式が設定できそうと、
 最初は思いますが、[]式はあくまで、そのセルの値が、
 という条件指定に限定されますから、
 [ ]式では無理なことがわかります。他のセルの値を基準にはできません。

(γ) 2017/08/17(木) 16:25


皆さまいろいろ本当にありがとうございました。(半平太) 様の書式で解決いたしました。
これで計算問題の解答が非常に楽に出すことができます。感謝、感謝です。
私の知識不足で皆様に大変ご迷惑とお手数をおかけしたこと皆様に深くお詫び申し上げます。
ありがとうございました。また皆様の熱意に感動しました。(もも)
(もも) 2017/08/17(木) 16:55

他の放置しているスレッドの後始末はきちんとしましょうね。
再々指摘されてるのに無視されてますね。
(とおりすがり) 2017/08/17(木) 17:11

>また皆様の熱意に感動しました。
使いもしないマクロを書いてご苦労さまということですか。
何のコメントもないのは失礼かなあ。

(γ) 2017/08/17(木) 17:19


 「書式」とは数式の意味だった可能性が高い。トホホ

 始めから適切な用語を使ってもらっていたら、
 こんなにスッタモンダしなかったかもです。

(半平太) 2017/08/17(木) 17:26


編集機能というのを試してみたかったのと、
余りにアホらしくなったので、マクロ編は消しました。

条件付き書式はマクロ記録が出来ないときもあり、
どのような時に記録されないかを知ったし、
引数の詳細内容とかも知ったし、個人的には有益でした。

最初から「1本の書式」かんかでなくてもよかったわけだ。
流石に慧眼!ですね。
(γ) 2017/08/17(木) 18:09


[[20121201102852]] 『小数第3位未満四捨五入について』(もも)
以前にも同じ質問をされていますね
そろばんの先生は高齢者が多いから痴呆症で独りよがりなのかもね

(びちくそライダー) 2017/08/18(金) 08:44


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.