• ベストアンサー

エクセルの数式を教えてください。

仕事で使う請求書など作っています。 その表で数量(A1) 単価(B1) 計(C1) 数量かける単価=計 そして数量が入力ないときは¥0と出したくないので (C1)の数式は  =IF(ISBLANK(A1),"",SUM(A1*B1)) にしました。ここまでは良かったのですが 単価のところには3m2のように数字以外を入れることになるのでエラーになってしまいました。 そこでm2などが入った場合でも数字だけを読み取って計算してくれる数式を教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#112806
noname#112806
回答No.2

単価を入力するセルを、数値の部分と単位の部分の2つのセルに分割してはどうでしょうか?

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

書式ーセル-ユーザー定義-####"円/1m2当り" とすると、12と入れると、12円/1m2当り となり、計算は単位で邪魔されませんが。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

こんにちは。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)
回答No.3

単位を別セルではだめですか? 単位が一種類ならば、セルの書式にてユーザー定義 単位が必ず1文字ならば =IF(A1="","",A1*MID(B1,1,LEN(B1)-1))

  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.1

単価にはいるm2って何ですか?平方メートル? なら数量のような。 簡単なのは、ユーザー定義の表示書式に"m2"をいれておいて、 数字のみをセルに入力する方式ですね。

関連するQ&A

  • エクセルで、数式を消させない方法

    お世話になります。 ひょっとして、ものすごく基本的なことかもしれませんが 質問させて下さい。 A1に 1 B1に 1 C1に 数式の =SUM(A1+B1) が 入っています。 当然、C1には、 2 と自動計算されます。 このC1にある、数式ですが、 うっかり 手入力で、数字等を、 上から記入してしまうと、数式が消えてしまいます。 うっかり、手入力で、数字を書いても、入っている数式が消えないように 出来ますか? 教えて下さい。

  • Excelの関数について

    Excelの関数について教えてください。 C1に50、D1に30、E1に=SUM(A1:D1)、B2に=E1-SUM(A1:B1)、が入力されています。 このB2の計算式を、「もしB1:C1のどちらか片方(もしくは両方)に値が入力されているときはB2の計算式の結果が返ってくる。B1:C1のどちらも空欄のときは「#N/A」が返ってくる。0は入力有りとみなす」というようにしたいです。 IF関数にISBLANK関数を入れてみたんですが、片方に入力有りでも「#N/A」が返ってきてしまいます。 =IF(ISBLANK(B1:C1),NA(),E1-SUM(A1:B1)) ISBLANK関数じゃダメだったんでしょうか? どういうふうに変えればいいんでしょうか? すみませんがどなたか教えてください。

  • Excelの数式教えて下さい・・・

    どうにか自分でやってみようと、教えて頂いたページを参考に試みたものの、やはり無理でした(T_T) こんな私に教えて下さい。 自動車燃料の請求書を作成したいのですが、  A列   B列 C列  D列  品名   数量 単価  金額(数量*単価) レギュラー 20 90 1890  軽油   10 50 188  灯油   30 30 945 軽油税(軽油数量*32.1)=X 品名、数量、単価は手入力(と言う?)です。 (1)「品名」に「軽油」と入力された時のみ「単価」から 32.1の値を差し引いた額を数量を掛けた値を「金額」 に出すようにしたいのです。   (2)請求書の最後に「軽油」のみの総数量に32.1の値が 自動的に出るようにしたいのですが・・・ 私に分かったのは、数量と単価を掛けて「金額」をRoundを使用して四捨五入できた事だけです・・・(しかもレギュラーと灯油のみ) 専門用語も分からない為、かなり把握しずらいとは思うのですが、なにとぞよろしくお願い致します。 もし、よろしければ具体的に数式などを教えて頂ければ 是幸いです。     

  • エクセルで納品書作成

    エクセルで納品書を作成しています。 まず、『Sheet1』に受注一覧表があります。    A    B     C      D    E   F 1 受注ID   顧客    品名    単価   数量  合計 2 100100  あい商店   みかん   150    4   600 3 100100  あい商店   りんご   150    2   300 4 100100  あい商店   ばなな   200    1   200 5 100101  (株)うえ    みかん   150    4   600 3 100101  (株)うえ    りんご   150    2   300 4 100101  (株)うえ    ばなな   200    1   200 次に、、『Sheet2』に納品書があります。 セルA1に受注IDを『100100』と入力すると、 自動的に、    A    B    C   D   5 品名    単価   数量  合計 6 みかん   150    4   600 7 りんご   150    2   300 8 ばなな   200    1   200 と表示されるようにしたいのですが・・・。 セルA6~A8に =IF(ISBLANK($A$1),"",VLOOKUP($A$1,Sheet1!$A$1:$F$9997,3)) セルB6~B8に =IF(ISBLANK($A$1),"",VLOOKUP($A$1,Sheet1!$A$1:$F$9997,4)) セルC6~C8に =IF(ISBLANK($A$1),"",VLOOKUP($A$1,Sheet1!$A$1:$F$9997,5)) 入力したのですが、↓↓こうなっちゃいましたo(;△;)o    A    B    C   D   5 品名    単価   数量  合計 6 りんご   150    2   300 7 りんご   150    2   300 8 りんご   150    2   300 至急、助けてください(/_<。)

  • エクセルの数式の作り方を教えて下さい。

    エクセルの表計算の数式の作り方を教えて下さい。 例えば、A1+B1=C1 の場合 C1のセルに=A1+B1と入力する所までは分かるのですが、A1に入力してB1には入力しなかった場合C1にはA1の数値が入りますが、A1かB1のどちらか一方が入力されてない場合はC1のセルを空欄にする計算式を教えて下さい。

  • エクセル数式について

    エクセル初心者です 2つ質問させてください。 質問 1  表計算をしています エクセルの数式をドラッグしてコピーすると =SUM(H18*C18) =SUM(H19*C19) =SUM(H20*C20) となりますが たとえば =SUM(H18*C18) =SUM(H18*C19) =SUM(H18*C20) 一つのセルを固定して計算させる このようなコピーの方法は可能でしょうか? 質問 2 データの入力規則を設定するとき 入力値の種類→ユーザー設定→数式 この(数式)の部分を別のSheetのセルを範囲指定して 設定する方法は可能でしょうか? 分かりにくくてすみませんが お知恵を貸してください。 よろしくお願い致します

  • エクセルの数式を教えてください。

    質問が悪かったようなので、詳しく書きます。 A1に1、B1に1の場合はA/B、B1に1、C1に1の場合はB/C、C1に1、D1に1の場合はC/Dとなるような数式はありますでしょうか? 下記の数式をどう改良したら良いかわかりません。 =IF(AND(SUM(A1:B1)=2,A1=1,B1=1),"A/B","") 宜しくお願いいたします。

  • エクセルの数式が無効に

    用語が間違っていたら、ご勘弁ください。 エクセル(2003)で請求書を作っています。(他にはほとんど使っていません) 掛け算、足し算、空白の処理を、初心者向きの本を購入し、どうにか作りました。 2年間使えていたのですが、先月より計算が出来なくなりました。 例)小計のセル(D10) ------- =IF(B10<>0,B10*C10,"") ------- B列とC列に数字を入れても計算してくれません。 D列に、数式は入っています。 <試しました1> 過去問題なく使えていたページで 既に入っていたB列とC列の数字を変更してみたところ、 計算されず、D列の数字は変わらぬままでした。 <試しました2> 新規書類で、単純な数式を作りましたが、無効でした。 <試しました3> オートSUMは使えます。 <試しました4> CDからの追加インストールもしてみたのですが・・・ 心当たりがあるとすれば、 先日、Windowsアプリケーションの削除を大胆に行いました。 必要なものまで削除してしまったのかもしれません。 どなたか、お分かりになりましたら、お助けください。 どうぞよろしくお願いします。

  • エクセル2003Isblank関数を使用して作った複数のセルを合計したい

    仮に、 C3セルに以下の関数式を入れたとします。 =If(isblank(A3),’’,A3xB3 A3に入力しなければ、C3はブランクになります。 しかしさらに同様の数式を 仮にD3に =If(isblank(E3),’’,E3xF3 と入力し、 最後にC3とD3を合計するためにG3に=C3+D3 と入力すると、G3はVALUE!になってしまいます。 G3に計算通りに数字が入るようにするためには どのような数式を入力していけばよいのでしょうか。 教えてください。 お願いします。

  • Excel2003の数式設定について教えて下さい。

    Excel2003の数式設定について教えて下さい。 【C1セル】には 数式「=IF(A1="","",A1)」 【D1セル】には 数式「=IF(B1="","",B1)」 【E1セル】には 数式「=IF(AND(ISBLANK(C1),ISBLANK(D1)),"",(IF((C1+D1)=0,"---",C1+D1)))」 と設定した状態で、 【A1セル】に 数値「100」と入力し、 【B1セル】に 数値「200」と入力した場合、 【E1セル】は 「300」と出力されますが、 【A1セル】、もしくは【B1セル】を 空欄にした場合、 【E1セル】は エラーとなり、「#VALUE」と出力されてしまいます。 小生としては、【C1セル】【D1セル】の両セルとも表示上は空欄の為、 ISBLANK関数でTRUEと判定し、【E1セル】は空欄になってほしいのですが、 【C1セル】や【D1セル】には数式が設定されている為、 ISBLANK関数でTRUEと判定されずに、「IF((C1+D1)=0」の演算でエラーとなっている様です。 小生が実現したいこと、 「【C1セル】と【D1セル】の数式の実行結果が空欄以外の時のみ、  【E1セル】の数式を実行する。」 の方法をご存知の方、教えて下さい。お願い致します。

専門家に質問してみよう