人気マンガがだれでも無料♪電子コミック読み放題!!

Excel2013で小数点以下の最大表示桁数を指定するにはどうしたらよいでしょうか
通常の数値の書式を使用すると小数点以下がない物まで小数点以下がでてしまいます
小数点以下があるものだけ桁数をしていするにはどうしますか

質問者からの補足コメント

  • 添付の画像のようにしたいです
    添付の場合は小数点以下の最大桁数を2桁にしてます

    「Excelで小数点以下の最大表示桁数を指」の補足画像1
      補足日時:2019/02/09 13:19
  • 教えていただいた方法そのままではなく半分くらい変更しましたがさっきできました
    右に余白が出来て数字が左にずれることもなくなりました

    「Excelで小数点以下の最大表示桁数を指」の補足画像2
      補足日時:2019/02/10 12:53

A 回答 (9件)

[表示形式]で[数値]や[通貨]、[会計]などを指定すると、右端へと


半角分のスペースが発生するのは仕様だと思って諦めてください。
[表示形式]で[標準]を指定していると右端に寄るのですが、上記の
[表示形式]と揃わないので、本来統一した形式にすべきなのです。

これは、[数値]での書式として2桁を指定した場合に「0.00_ 」の
設定がされているため、それに合わせた設定になるためです。
どうしても揃えたい場合には、以下の設定にする必要があります。

・[条件付き書式]の[数値]の指定を[ユーザー定義]に変更する
[条件付き書式]で、[数値]で[小数点以下の桁数]指定されたものを
[ルールの管理]で編集します。

[数値]で桁数を指定された状態で、[ユーザー定義]に切り替えると
「0.00_ 」の形式が選択されていると思うので、「0.00」へと修正
して[ OK ]を続けて確定します。
これで右端に寄った形式になります。

小数点以下の桁数を修正するたびに[ユーザー定義]で桁数に応じた
ものに修正する必要があるので、桁数が多くなってくると間違いを
しやすくなる設定ですので、注意して指定してくださいね。

関連サイト
http://www.officetanaka.net/excel/function/tips/ …
https://www.waenavi.com/entry/20180820/1534775281
「Excelで小数点以下の最大表示桁数を指」の回答画像7
    • good
    • 0
この回答へのお礼

回答ありがとうございます
右の余白がなぜできるのかしらなかったです
これは大変いい情報です
ありがとうございます

お礼日時:2019/02/10 12:54

No.8の回答にあるアドバイスで気づいたのですが、計算結果を桁数


で丸めるなら、ROUND関数などを使ったほうが簡単だと思います。
https://www.becoolusers.com/excel/round.html
 =ROUND((計算式),桁数)
で最大桁数だけ丸めることができ、[標準]の配置を維持します。

計算結果ではなく、手入力などの場合は私が示した方法も有効です。
    • good
    • 0
この回答へのお礼

返信ありがとうございます
質問にある通り表示桁数を変更したいのであって
計算結果を丸めたいわけではないです

お礼日時:2019/02/10 12:52

横から失礼します(トンチンカンな回答になっていたらゴメンナサイ)。


No.2さんへのお礼の中で「値は自動計算され」と書かれていますが、これって数式で求めているということですよね?であれば、その式の中でRoundすることはできないのでしょうか。
    • good
    • 0
この回答へのお礼

返信ありがとうございます

roundは表示桁数を変更するのではなく値そのものを変更しますよね
以下のように0.0625を小数点以下3桁でroundすると
そのあとの演算が正しくなくなります
例)
値    16倍した値
0.0625 1
0.063 1.008
上は通常、下はround

お礼日時:2019/02/10 12:48

No.5の式の意味を理解できれば、どの最大桁数でも対応ができると思います。


10倍だと小数点1桁までは同じ表示で小数点2桁を丸める形式です。
(No.5の説明だと、説明不足でした)
 =A2*10<>INT(A2*10)
これは10の1乗を掛けたものをINT関数と比べているので、桁数分を乗数で指定するだけです。
小数点2桁で丸める場合は10の2乗である100を掛けるべきでした。
その点は修正し、勘違いされた場合は謝ります。

最大表示桁数が1桁の場合:
 =A2*10^1<>INT(A2*10^1)
最大表示桁数が2の場合:
 =A2*10^2<>INT(A2*10^2)
最大表示桁数が3桁の場合:
 =A2*10^3<>INT(A2*10^3)
   ↓
最大表示桁数が10桁の場合:
 =A2*10^10<>INT(A2*10^10)

このように指定することで最大表示形式に対応します。
「Excelで小数点以下の最大表示桁数を指」の回答画像6
    • good
    • 0
この回答へのお礼

回答ありがとうございます
やってみましたが表示の通りになりました
この方法はすごいですね

しかしこれで最大桁数を指定するとそのセルだけ左に浮いたようになります
右側に隙間ができます
これは回避する方法はありませんか
例えば図の9.1と3.333は3.333の右に隙間ができて変に浮いて見えます

お礼日時:2019/02/09 22:11

No.3の回答者です。


> 1.1のとき1.10となっていて
> 余分な桁が表示されてしまうようです
質問文だと小数点以下があるものだけ桁数を指定すると書いていたので、
整数と分けた条件付き書式を回答したつもりです。

小数点以下1桁の場合も考慮しないと駄目なのですね。
この場合、以下のように書き換えれば可能だと思いますよ。
http://www4.synapse.ne.jp/yone/excel2010/excel20 …

[表示形式]で[標準]を指定してある場合の例:
 =A2*10<>INT(A2*10)
これで、整数と一致しないセルがTRUEになるので、[表示形式]を
[数値]にして[小数点以下の桁数]を指定します。
セルの値を10倍にすることで、小数点以下1桁の場合でも整数で
計算するので、表示が変わりません。
    • good
    • 0
この回答へのお礼

返信ありがとうございます
簡単には書式設定できないようですね
小数点以下1桁の場合、2桁の場合、3桁の場合、4桁の場合、、、15桁の場合と、
全部つけていかなければならないみたいに見えました

小数点以下があるものだけ最大表示桁数を指定したいです
最大表示桁数が4桁なら小数点以下1桁の数値は1桁を表示しますし
3桁のものは3桁表示します
5桁以上の場合は最大4桁まで表示するということです
そのために質問文には「表示桁数を指定する」ではなく
「『最大』表示桁数を指定する」と明記いたしました

お礼日時:2019/02/09 14:26

こんにちは!



一案です。
セルの書式設定で対応してみてはどうでしょうか?
前提条件として、正の数限定とします。

範囲指定 → セルの書式設定 → ユーザー定義 → 表示形式タブの「種類」の欄が「G/標準」になっていると思いますので

そこに
[=0]0;[<1]0.#####;G/標準;@

とします。

※ 1を超える小数点以下がある数値はそのまま桁数が表示されると思いますが、
1未満の場合、とりあえず小数点以下5桁まで表示としています。m(_ _)m
    • good
    • 0
この回答へのお礼

返信ありがとうございます

これを試してみましたが小数の桁数は変わりませんでした
補足に添付した画像の上の表示から変わりません

お礼日時:2019/02/09 13:21

No.2の回答者さんが書いているように、[条件付き書式]で対応を


してはいかが。

A列(A2セル以降)に値があるとします。
以下のどちらかの[条件付き書式]で指定してください。

[表示形式]で[数値]を指定してある場合の例:
 =A2=INT(A2)
これで、整数と一致したセルだけTRUEになるので、[表示形式]を
[標準]などにします。

[表示形式]で[標準]を指定してある場合の例:
 =A2<>INT(A2)
これで、整数と一致しないセルがTRUEになるので、[表示形式]を
[数値]にして[小数点以下の桁数]を指定します。

添付画像では、A列は[標準]のままで、B列でA列の値を参照して、
[条件付き書式]で[数値]の指定(2番目の例)をしたものです。
「Excelで小数点以下の最大表示桁数を指」の回答画像3
    • good
    • 0
この回答へのお礼

返信ありがとうございます

教えていただいた方法だと
1.1のとき1.10となっていて
余分な桁が表示されてしまうようです

お礼日時:2019/02/09 13:16

小数の桁数は指定したいけど、書式設定してしまうと整数のみも小数部分が表示されてしまうということですね?



条件付き書式で整数時は標準に指定するとかは如何でしょうか?
    • good
    • 0
この回答へのお礼

返信ありがとうございます

「条件付き書式で整数時は標準に指定する」というのはどういうのでしょうか
値を見て手動で切り替えるということでしょうか

もしそうである場合その方法をとるのは難しく
値は自動計算されどのような値が入るかわからないため
全部に同じ書式をいれなければなりません

お礼日時:2019/02/09 13:15

1.小数点以下の最大表示桁数を指定したいセルを選択する。


2.右クリックして書式設定を選択する
3、書式設定のボックスが表示されれば、左の欄の数値を選択する
4.小数点以下の桁数の欄に指定の桁数を入力する

でできませんか?
    • good
    • 0
この回答へのお礼

返信ありがとうございます

それだと小数部がない数値も小数点以下が表示されませんか

お礼日時:2019/02/09 13:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qエクセルでセルのデータがカタカナかどうか調べたい

セルA1の内容が、全角カタカナか半角カタカナか知りたいです。

エクセル関数又はマクロコマンドがあるはずだと信じて探していますが、見つかりません。TYPE関数では、セルの内容が数値か文字列かを調べられますが、その文字列がカタカナか英数字かなどを調べられません。ご存知の方はお教えください。

Aベストアンサー

元の 文字列が、
セルA6に あるとして、
セル内が 全て、
全角片仮名かは、
=SUMPRODUCT((CODE(MID($A$6,COLUMN(OFFSET($A$1,0,0,1,LEN($A$6))),1))=ROW($A$9506:$A$9590))+0)=LEN($A$6)

半角片仮名かは、
=SUMPRODUCT((CODE(MID($A$6,COLUMN(OFFSET($A$1,0,0,1,LEN($A$6))),1))=ROW($A$177:$A$211))+0)=LEN(A6)

で 判りますよ。

QVLOOKUPで所定の文字が検出できない

数字とアルファベットであれば問題なく、また、ほかのパソコンだと正常に働きますが、何故か私のパソコンだけダメで再起動しても治りません。
掲載する画像はそれぞれの計算式で誰が見ても簡単なもの。
なお、右側の一覧から列をコピペしているので検索文字に空白はありません。

Aベストアンサー

普通は、Keyになるものが前でその後ろでデータを引っ張るんだよね。
https://dekiru.net/article/15221/

Qエクセルの質問です。 一つのフォルダにエクセルファイルが100個あります。 そのファイル一つ一つに全

エクセルの質問です。

一つのフォルダにエクセルファイルが100個あります。
そのファイル一つ一つに全て同じ計算式
+SUM(a8:a20)を入力するのですが、とても面倒です。

何か良い方法はありませんでしょうか。

なお、ファイルはひとつひとつ別物なので、計算式を入力してからコピーという方法はとれません。

Aベストアンサー

> 同じ計算式+SUM(a8:a20)

計算式およびSUM関数という意味ですよね?


> 何か良い方法はありませんでしょうか。

全てのExcelファイルに対して式を埋め込むVBAマクロを記述したファイルを作成して実行させればよいです。

業務で作成した、雛形ファイルをコピーしてデータを入力したファイル(数百個~千以上)があり、式やマクロのアップデートをする場合に行なっています。
大量のファイルに対して手作業で修正を行うのは時間の無駄です。ミスの発生する可能性もありますしね。

QIF関数について

A1~Z1の列の間に、特定の文字(たとえば”りんごの文字”)がセル内に含まれる場合(あかりんごなど)にその下のA2~Z2の列の間に記入された日付を抜き出す方法をご存知でしたら
どなたか教えていただけませんでしょうか、よろしくお願いします。

A2にあかりんごがあれば、B2の日付を抜き出そうとしています。

Aベストアンサー

では、HLOOKUP関数か、抜き出すのが日付ならSUMIF関数でもできるかと思います。

りんごを含む文字を検索値にする場合で、直接式にいれるなら「*りんご*」のようにしてください。

QIF関数とMODで、例えば入れた数値の倍数の時に◯が表示される……という数式を作りましたが、1.1の

IF関数とMODで、例えば入れた数値の倍数の時に◯が表示される……という数式を作りましたが、1.1の時に本当だったら1.1、2.2、3.3、4.4、5.5、6.6、7.7……で◯になるはずなのですが、10以下の数値を入れてみると、3.3、5.5、6.6、7.7、9.9は◯の表示がでてきません。
1.1、2.2、4.4、8.8しか◯が出ません。
どうしてでしょうか?

Aベストアンサー

幼稚な言い方だけど、Excel(に限らないので、PC全般的なことと理解してネ)は“小数点の計算には弱い”と理解しておきませう。
理屈っぽい人はフドーショースーテン(浮動小数点)問題などど言い始めますが・・・
それはさておき、対策を教えます。カンタンなことで、小数点抜きの整数に換算して、Excel に計算させることです。
貴方が提示した式(実はナッチョランでしたが)、を
=IF(MOD($A2*10,B$1*10)=0,"◯","")
に変更するだけで解決します。ゴチャゴチャ考えずに先ずは実行してみること!
どうなりましたか?

QExcelの住所欄地番の表記

前担当者が作成したExcelの顧客管理表での質問です。
住所1・・●●町
住所2・・1丁目12番地6号
となっています。
住所2を1丁目12番地6号から7丁目12番地6号に直すとします。

1丁目12番地6号のセルをクリックすると
上の数式バーには 1126 と表れます。(数式は表記されない)

なので 7126 と入れた所
0丁目12番地6号になってしまいます。

前担当者はいなく、私も周りもPCに弱いので困っております。
エクセルに詳しい方お願いいたします。

Aベストアンサー

駄目なEXCEL応用例の典型ですね

汎用性等を考慮せずに、一定のケースのみ通用する書式でも設定したんでしょう

まずは、セルを右クリックして「書式設定」から、セルの表示形式を確認しましょう

QExcelについての質問です。

Excel初心者です。
給与計算表を作成していて、調べてもわからないので誰か教えてください。

・17:00~17:07までは17:00で表示。
・17:08~17:15までは17:15で表示。
・17:15~17:22までは17:15で表示。

このように表示させる事は可能でしょうか?
ご教示お願い致しますm(__)m

Aベストアンサー

=MROUND(A9,"0:15")

QVLOOKUPの一部が参照しません、どのように直したら良いでしょうか

INDEX(価格表の参照範囲,MATCH(検索値,会社名の列),MATCH(検索値,商品名に行))
で商品価格を読みに行く関数をセルに入れました。
ほぼ問題なく価格を拾ってくるのですが、一部会社名がアルファベットの会社だけ参照されず#N/Aエラーが出てしまいます。
参照先の会社名をそのままコピーしてもやはりエラーが出てしまうのでアルファベットか否かが問題なのかなと思うのですが、何でできないのでしょうか?
会社名を変える以外で何か設定の部分で参照するようにできるでしょうか?

Aベストアンサー

全角半角は合ってますか?
後、余分なスペースなど入ってませんか?

QExcelの関数について

A ・ B ・ C ・ D ・ E ・ F ・ G
1 ・鈴木 ・ 田中 ・ 太田 ・ 佐藤 ・ 石田 ・
2
3

上記のような表に"年休"と入力したら、G欄に入力した人の名前(1列目)をかえしたいのですが、

A ・ B ・ C ・ D ・ E ・ F ・ G
1 ・ 鈴木 ・ 田中 ・ 太田 ・ 佐藤 ・ 石田
2 ・ ・年休 ・ ・年休・ ・ 田中、佐藤
3 ・ 年休・ ・年休・年休・ ・ 鈴木、太田、佐藤

よろしくお願いします。

Aベストアンサー

[No.4]用の添付図です。

QCSVで文字化けしてしまうのを直すマクロ

いつもお世話になっております。
Excel2013を使用していますので
アドバイスどうぞよろしくお願いします。

"ファイル名"というシートのA列2行目からCSVファイルのファイル名が書いてあります。
日によるのですが、だいたい5~10件程度です。
そしてこのCSVファイルがくせ者でファイルを開くと文字化けを起こしてしまいます。下記のサイトを参考にマクロを作ったのですが、文字化けはしないものの文字に必ず""がついてしまい、また一行しか転記されません。

http://officetanaka.net/excel/vba/file/file10.htm

例 空白→""、 神奈川→"神奈川"

やりたいこととしてはファイル名とあるシートのA列2行目に書いてあるCSVファイルを開き、文字化けを直してSheet1にデータを表示させ、それをファイル名が書いてある最終行まで行いたいです。

Sub macro()
Dim i1 As Long, x As Long
Rbook As Workbook
Rsheet As Worksheet, Ssheet As Worksheet
Set Rbook = ThisWorkbook

Sheets("ファイル名").Select
Set Rsheet = Rbook.Worksheets("ファイル名")
For i1 = 2 To 10
If Rsheet.Cells(i1, 1).Value <> "" Then
Sheets("SHEET1").Select ’表示させるシート
Set Ssheet = Rbook.Worksheets("SHEET1")
Ssheet.Cells.Clear
Ssheet.Range("A1").Select

’文字化けを直す
Dim buf As String, Target As String, i1 As Long
Dim tmp As Variant, j As Long
Target = "¥アドレス" & Ssheet.Cells(i, 1).Value
With CreateObject("ADODB.Stream")
.Charset = "UTF-8"
.Open
.LoadFromFile Target
Do Until .EOS
buf = .ReadText(-2)
i = i + 1
tmp = Split(buf, ",")
For j = 0 To UBound(tmp)
Cells(i, j + 1) = tmp(j)
Next j
Loop
.Close
End With

’別のマクロ実行

End if
Next i1

’2行目、3行目と続く

End Sub

どうぞよろしくお願い致します。

いつもお世話になっております。
Excel2013を使用していますので
アドバイスどうぞよろしくお願いします。

"ファイル名"というシートのA列2行目からCSVファイルのファイル名が書いてあります。
日によるのですが、だいたい5~10件程度です。
そしてこのCSVファイルがくせ者でファイルを開くと文字化けを起こしてしまいます。下記のサイトを参考にマクロを作ったのですが、文字化けはしないものの文字に必ず""がついてしまい、また一行しか転記されません。

http://officetanaka.net/excel/vba/file/fil...続きを読む

Aベストアンサー

こんにちは。

>そのあと"buf = .ReadText(-2)"で止まり
>"パラメーターが間違っています"と表示されてしまいます。。。
>アドバイスどうぞよろしくお願いします。

ご指摘の部分は、残念ですが、想定外の問題で、ADODBを使って別のやり方はありますが、そのデータ自体の問題であり、原因は分からないままにコードを変えて何度も繰り返す可能性のほうが高いです。別のファイルでも、2番めに同じように起こりますか?

   Next j
  Loop
  .Close
 End With
 Set Strm = Nothing '←は入れたらどうでしょうか。
End Sub '←ここが最後の行

それと、私は、参照設定で、Adodb を入れていること。(Microsoft ActiveX Data Objects 2.8 Library)
Dim Strm As ADODB.Stream

これらは、あまり関係ないけれども、実際に自分がする時はこうします。もちろん、ご質問者さんが選んだ方法を完動するように書き上げただけですから、この延長上に、同様のエラーがなくなるという可能性は低いのではないかと思います。

今、思いついたのは、Excel 関数のClean 関数を間に入れる方法はあるとは思います。
それは、エラーを起こすと予想されるバイナリコードを除去する働きがあります。ただし、エラーがバイナリコードであれば、という条件です。

しかし、こちら側では、根本的な解決策は見当たりません。が、何度もトライするよりも、ダメだったファイルが、どうしてだめだったか、エディターなどで調べていただいたほうが良いですね。そちらのほうが早いのです。
巨大なファイルではない限りは、文字変換で、UTF-8 から、SJISに変換するツールで、一旦変更してから、インポートするほうが楽だと思います。Vector で、Unix系のツールなどいくつかあるようです。

こんにちは。

>そのあと"buf = .ReadText(-2)"で止まり
>"パラメーターが間違っています"と表示されてしまいます。。。
>アドバイスどうぞよろしくお願いします。

ご指摘の部分は、残念ですが、想定外の問題で、ADODBを使って別のやり方はありますが、そのデータ自体の問題であり、原因は分からないままにコードを変えて何度も繰り返す可能性のほうが高いです。別のファイルでも、2番めに同じように起こりますか?

   Next j
  Loop
  .Close
 End With
 Set Strm = Nothing '←は入れたらどうでし...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング