- ベストアンサー
エクセルの数式を教えてください。
仕事で使う請求書など作っています。 その表で数量(A1) 単価(B1) 計(C1) 数量かける単価=計 そして数量が入力ないときは¥0と出したくないので (C1)の数式は =IF(ISBLANK(A1),"",SUM(A1*B1)) にしました。ここまでは良かったのですが 単価のところには3m2のように数字以外を入れることになるのでエラーになってしまいました。 そこでm2などが入った場合でも数字だけを読み取って計算してくれる数式を教えてください。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
単価を入力するセルを、数値の部分と単位の部分の2つのセルに分割してはどうでしょうか?
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
書式ーセル-ユーザー定義-####"円/1m2当り" とすると、12と入れると、12円/1m2当り となり、計算は単位で邪魔されませんが。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 数字以外というのが、"m2"だけなら、 =IF(ISNUMBER(A1),A1*SUBSTITUTE(B1,"m2",),"") という風に出来ます。 しかし、いろいろな文字列(単位?)がある場合は、非常に面倒です。 No.2の方の通り、単位?の部分は別のセルに入力するようにしましょう。 なお、元の数式について少しだけ。 まず、 「SUM(A1*B1)」 としているのは、まったく無意味です。 単に、 「A1*B1」 とすればいいです。 SUMは、引数を合計する関数ですが、今回の例では、「A1*B1」という1つしかない値を"合計"する必要はまったくありません。 SUMを、計算式を入れるのに必ず必要とか勘違いされている方がよくいますが。 あと、数量があるかどうかの判定を、ISBLANK関数で行っていますが、ISBLANK関数は誤動作(というか自分の意図と違う動作)をすることがあるので、使用は避けましょう。 今回は、要は数量が数値かどうかを判断するわけですから、 「ISNUMBER(A1)」 としましょう。 (この場合は、IFの条件の真偽が逆になりますが)
- fukkyse
- ベストアンサー率32% (130/402)
単位を別セルではだめですか? 単位が一種類ならば、セルの書式にてユーザー定義 単位が必ず1文字ならば =IF(A1="","",A1*MID(B1,1,LEN(B1)-1))
- OsieteG00
- ベストアンサー率35% (777/2173)
単価にはいるm2って何ですか?平方メートル? なら数量のような。 簡単なのは、ユーザー定義の表示書式に"m2"をいれておいて、 数字のみをセルに入力する方式ですね。