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

小数点第一位と二位の場合で表示を変えたい

以下のような表示に出来る関数を知りたいのですがどなたかご教示ください。
 
A1は1以上

A1が1の時→B1が1
A1が小数点第一位までの場合→B1が10
A1が小数点第二位までの場合→B1が100

A1が1の時→C1=A1
A1が小数点第一位までの場合→C1が小数点第一位の数字
A1が小数点第二位までの場合→C1が小数点第二位の数字

例)A1が1、B1が1、C1が1
  A1が1.5、B1が10、C1が5
  A1か1.08、B1が100、C1が8

INTだと小数点以下の区別が出来ずに困っています。
宜しくお願い致します。

A 回答 (2件)

んー。


これはめんどくさい問題ですね。

自分なら小数点以下の桁を指定して四捨五入し、その値が元の値と等しいかで桁数を判断するように作ります。
すると、

小数点以下の値は、
 一位以下(0.1)
 二位  (0.01)
 三位以上(0.001)
の3つに分けられます。

でもって
 =IF(A1=ROUND(A1,1) , ”小数点以下一位以下” , ”もっと桁がある” )
この ”もっと桁がある” の部分を
 IF(A1=ROUND(A1,2) , ”小数点以下二位” , ”小数点以下三位以上ある” )
と置き換え、
 =IF(A1=ROUND(A1,1) , ”小数点以下一位以下” , IF(A1=ROUND(A1,2) , ”小数点以下二位” , ”小数点以下三位以上ある” ) )
こんな感じに比較するわけです。

あとは
 ”小数点以下一位以下”
 ”小数点以下二位”
 ”小数点以下三位以上ある”
の部分を数字を抜き出す数式に書き換えるだけ。
(それくらいはできると思いますので自身でチャレンジしてみてください)
    • good
    • 0
この回答へのお礼

返信ありがとうございます。なるほど、そういう考え方があるのですね。
無事希望通りに作成する事が出来ました。

お礼日時:2017/12/13 00:14

こんにちは



A1の値は必ず数値で(文字列ではない)、値は10未満であるという条件が満たせるなら…

B1に
 =10^IFERROR(LEN(""&A1)-FIND(".",""&A1,1),0)
C1に
 =MOD(A1*B1,10)

でいかがでしょうか?
    • good
    • 0
この回答へのお礼

素早い返信ありがとうございます。お陰様で無事作成することができました!

お礼日時:2017/12/13 00:14

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