[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『小数第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 >
新たにスレッドを立ち上げるのではなく、↓に続けるようにしましょう。
[[20170813222302]] 『四捨五入について』(もも)
(とおりすがり) 2017/08/14(月) 22:00
小数第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
横から失礼します。
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
ありゃ! 取り違えてしまいました。
γさん ご指摘有難うございます。
訂正を入れておきました。
(半平太) 2017/08/16(水) 18:29
(パオ〜〜ン)様のも読みましたが説明の最初で、 対象のセルを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(木) 17:19
「書式」とは数式の意味だった可能性が高い。トホホ
始めから適切な用語を使ってもらっていたら、 こんなにスッタモンダしなかったかもです。
(半平太) 2017/08/17(木) 17:26
条件付き書式はマクロ記録が出来ないときもあり、
どのような時に記録されないかを知ったし、
引数の詳細内容とかも知ったし、個人的には有益でした。
最初から「1本の書式」かんかでなくてもよかったわけだ。
流石に慧眼!ですね。
(γ) 2017/08/17(木) 18:09
(びちくそライダー) 2017/08/18(金) 08:44
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.