- ベストアンサー
関数について
例えばA1に数字を入力します。B1に式を入れて数字を表示したいのですが、 A1より必ず-5した数字を返したいです。 10以上なら”10” -1以下なら”0” 1~9ならそのままの値を表示したいのですが、どのような関数を入れたらいいですか? 例えば、3だと”0” 12だと”7” 30だと”10” と表示したいです。 途中までIF関数で作ってみたのですが、なかなかうまくいきません。 わかりにくくてすみませんがどうかよろしくおねがいします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>A1より必ず-5した数字を返したいです。 >例えば、3だと”0” 12だと”7” 30だと”10” と表示したいです。 例の方から見ると、以下のようなことをやりたいのかと想像します。 (1) (A1-5)がゼロ以下ならば、ゼロ。 (2) (A1-5)が1~9ならば、その数字。 (3) (A1-5)が10以上ならば、10。 これをそのままif文に組み込むのでもいいのですが、式が長くなるので、次のようにしてみましょうか。 (1') A1が5以下の場合には、ゼロ。 (2') A1が6~15の場合には、5を引いた物。 (3') A1が16以上の場合には、10。 これで条件式に書く式が短くなりましたので、その通りに式を組んでみます。 if(A1 <=5, 0, 【(1')5以下なら、ゼロ】 if(A1 <= 15, A1-5, 【(2')それ以外(6以上)で、15以下なら、5を引いた物】 10 【(3')さらにそれ以外ならば、10】 ) ) これを1行で書くと、 =IF(A1<=5, 0, IF(A1<=15, A1-5, 10)) という式になります。 ちなみにもとの通り書くならば、 =IF( (A1-5) <=0, 0, IF( (A1-5) <=10, A1-5, 10)) となり、これでも構いませんが、カッコの対応が見づらかったりしますよね…?
その他の回答 (4)
- coave
- ベストアンサー率0% (0/1)
=if(A1-5<=-1,0,if(A1-5>=10,10,A1-5))で良いのではないでしょうか
お礼
回答有難うございます。 そうです、これがやりたかったんです☆ しかし皆さんすばらしいですね。私ももっと勉強しようと思いました。 助かりました。
- keithin
- ベストアンサー率66% (5278/7941)
=IF(A1="","",MAX(MIN(A1-5,10),0)) です。 途中部分を MIN(MAX(A1-5,0),10) のようにしても同じです。 #オマケ =IF(A1="","",MEDIAN(0,10,A1-5)) とかでもできます。
お礼
回答有難うございます! いろいろバージョンあるんですね。すごく勉強になります。 MAXとか使ったことないです・・・恥
- mshr1962
- ベストアンサー率39% (7417/18945)
IF文のみだと =IF(A1>15,10,IF(A1<5,0,A1-5)) IFを使わない場合は =MAX(MIN(A1-5,0),10)
お礼
回答有難うございます。 IF使わないでも出来るんですね・・・ いやはや もっと勉強しなくては;;
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 =IF(A1-5<0,0,MIN(A1-5,10))
お礼
回答ありがとうございます! MIN関数、使う発想がなかったです(お恥ずかしい・・・) 簡潔ですばらしいです☆
お礼
細かく回答していただきありがとうございます。 当初私が入れようとしていた関数に近い形で答えていただいたので ベストアンサーにさせていただきました! 本当に助かりました。有難うございました。 私も質問に答えられるように勉強します^^