- ベストアンサー
エクセルの関数を複数使いたい
こんにちは、教えてください エクセルの関数を同時に複数使いたいときはどうしたらよいのでしょうか? 具体的には A1とA2を掛けて1000で割りたものをC1に表示させたいのです。 ただし、 (1)計算をしていないときにはC1に何も表示させたくない。 (2)小数点以下2桁で四捨五入したいのです。 (3)計算式をいったん別のところに表示させず、直接C1にだしたい。 以上の条件をかなえたいのですが、掛け算・割り算の式や、表示の条件を変えるのにIFを使用したり、四捨五入をするのはROUNDを使うのは発想できたのですが、組み合わせ方が分かりません。(表示形式で設定してしまうと、0.20などの際に0.2とはならないので・・・関数を使いたいのです) よろしくお願いします
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
関数の中に関数を入れ子にするということはよく行われます。 C1に以下の式を入れてください。 =round(A1*B1/1000,2) これで(2)と(3)を満たしています。 (1)ですが、「計算していないとき」とは、どう解釈したらよいでしょうか。 A1かB1が空だったらということでしたら、 =if(or(A1="",A2=""),"",round(A1*A2/1000,2)) としてください。 どちらかが0のときに空欄にするのでしたら、 C1の書式に、「#,##0.0;-#,##0.0」という指定も試してみてください。
その他の回答 (5)
s_husky です。 1000で割るを10000と勘違いしていました! =IF(LEN(A1)*LEN(A2)>0,INT(A1*A2/100+0.5)/10,"") =IF(LEN(A1)*LEN(A2)>0,ROUND((A1*A2)/1000,1), "") =IF(LEN(A1)*LEN(A2)>0,TEXT((A1*A2)/1000,"0.0"), "")
お礼
みなさん、早速ありがとうございました 問題は解決しましたので、まとめて二なりますが、お礼を書かせていただきます
- mshr1962
- ベストアンサー率39% (7417/18945)
>表示形式で設定してしまうと、0.20などの際に0.2とはならないので 表示形式をユーザー定義で 0.?? では駄目でしょうか? 数式の場合は =IF(COUNT(A1:A2)=2,ROUND(A1*A2/1000,2),"") という方法もあります。 COUNTが数値をカウントする関数なので、A1,A2ともに数値なら2なるのを利用してます。
=IF(LEN(A1)*LEN(A2)>0,INT(A1*A2/1000+0.5)/10,"") =IF(LEN(A1)*LEN(A2)>0,ROUND((A1*A2)/10000,1), "") =IF(LEN(A1)*LEN(A2)>0,TEXT((A1*A2)/10000,"0.0"), "") etc...
- hana-hana3
- ベストアンサー率31% (4940/15541)
=IF(OR(A1="",B1=""),"",ROUNDDOWN(A1*B1/1000,2))
- akio_myau
- ベストアンサー率34% (515/1480)
=IF(AND(A1="",A2=""),"",ROUND(A1*A2/1000,2)) でどうでしょうか。
お礼
早速の回答ありがとうございます たぶん大丈夫だと思います。 ありがとうございました
お礼
早速の回答ありがとうございます (1)の条件ですが、ANDよりもORのほうがいいみたいです 書式での設定はしていませんが、関数だけでも大丈夫そうです。 ありがとうございました