アプリ版:「スタンプのみでお礼する」機能のリリースについて

宜しくお願いいたします。

セルに入力する数値の桁数を制限したいです。

常に小数点以下6桁まで入力してほしいです。
例)1.234567
1.000000

エラーとなってほしい例
1.0012(小数点以下が6桁ではない)
1.2345678(小数点以下が7桁)

「データの入力規則」で以下のように設定しました。
入力条件の種類=文字列(長さ指定)
データ=次の値に等しい
長さ=8

入力した数値の末尾が0より大きい場合(1~9)は、入力可能ですが、
末尾が0の場合にエラーとなります。
0の場合、0が省略されて「長さ」が7になるからだと思われます。
末尾が0の場合も小数点以下を6桁と認識し、制限を設定する方法を知りたいです。

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

  • ご回答いただき、ありがとうございます。
    入力後の値を計算に使用するため文字列ではなく数値の必要があります。
    引き続き宜しくお願いいたします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/03/28 18:16
  • ご回答いただき、ありがとうございます。
    ご教示いただきました、設定で希望の設定が可能となりました。
    表示形式を変更するところは思いついたのですが、入力規則の関数が思いつきませんでした。
    宜しければ、数式の意味をお教えいただけないでしょうか?
    TEXT関数の部分は理解できるのですが、[-A1=0]の部分の意味が解りません。
    よろしくお願いいたします。

    No.2の回答に寄せられた補足コメントです。 補足日時:2017/03/29 09:39

A 回答 (3件)

文字列じゃダメなんですか?


文字列で指定しているんですから
セルを文字型にすればいけそうな。
この回答への補足あり
    • good
    • 0

[セルの書式設定]で[数値]にして、[小数点以下の桁数]を[ 6 ]にするのは


ダメなのでしょうか?
これなら、桁数が足りない場合でも「0」を指定桁数まで補いますので。
また、末尾の数値も「0」に対応しますし、「1.000000」の表示もできます。

小数点以下の桁数が多い場合にエラーにするなら[データの入力規則]で
[ユーザー設定]にして、[数式]に以下の式を入れます。

 =TEXT(A1,"0.000000")-A1=0

これで、指定桁数よりも多い場合にエラーが表示されるようになります。
この回答への補足あり
    • good
    • 0

No.2の回答者です。

補足されたことへの返答です。

> [-A1=0]の部分の意味が解りません。
単純なことですよ。
A1-A1=0 となるのは、同じ数値の場合ならTRUEになるからですよね。

TEXT(A1,"0.000000")で小数点以下6桁までの数値を求めていることと、
[セルの書式設定]で[数値]にて小数点以下を[ 6 ]にしているので、必ず
小数点以下が6桁までならA1の値と一致します。
小数点以下の桁数が6までなら
 TEXT(A1,"0.000000")=A1
なので
 =TEXT(A1,"0.000000")-A1=0
はTRUEになります。

しかし、7桁を超えるとA1の値の表示が6桁までであっても、実数値では
小数点7桁目を含む数値です。実数値とTEXT関数で処理された数値の(A1,"0.000000")で繰り上げした数値とでは、繰り上げされたことで大きく
なります。

小数点以下の桁数が7桁よりも多い場合、
 TEXT(A1,"0.000000")>A1
なので
 =TEXT(A1,"0.000000")-A1=0
はFALSEになります。
「Excel2010 入力する桁数を制限す」の回答画像3
    • good
    • 0
この回答へのお礼

丁寧なご回答をいただき、ありがとうございます。
数式の[=0]の部分で、TRUEを指定し、FALSEだとエラー表示になるんですね!!

通常のセルに設定する関数以外(条件付き書式など)に、
なかなか応用がきかないですが自分で思いつくよう、勉強いたします。

ありがとうございました!!

お礼日時:2017/03/29 11:34

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