• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:関数の訂正)

関数の訂正方法について

このQ&Aのポイント
  • 関数の訂正方法について教えてください。現在、I8からI250までの数量データとJ8からJ250までの単価データの合計を計算していますが、数量の部分には数値の代わりに重量(25kなど)を入れることもあります。その場合も正しく計算するためにはどのような関数を使えばいいでしょうか?
  • 関数の訂正方法が分かりません。I8からI250までの数量データとJ8からJ250までの単価データの合計を計算するために、下記の関数を使っています。 =SUMPRODUCT(I8:I250,J8:J250) しかし、数量の部分には数字ではなく重量(25kなど)を入れたい場合もあります。その場合、どのように関数を修正すれば正しく計算できるでしょうか?
  • 関数の訂正方法を教えてください。I8からI250までの数量データとJ8からJ250までの単価データの合計を計算するために、下記の関数を使っています。 =SUMPRODUCT(I8:I250,J8:J250) しかし、数量の部分には数字ではなく重量を入力する必要があります。その場合、どのように関数を修正すればいいでしょうか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

データがないときに,SUBSTITUTEの結果として「""」が計算されているのが直接のエラーの原因です。ご利用のエクセルのバージョンが不明ですが,「数式の検証」の機能などを使って計算をトレースしてみて,何が起きているのか理解してください。 簡易には =SUMPRODUCT((0&SUBSTITUTE(I8:I250,"k",""))*1,J8:J250) のようにする事が出来ます。 J列のデータが許せば =SUMPRODUCT((0&SUBSTITUTE(I8:I250,"k",""))*J8:J250) でも構いません。

noname#241383
質問者

お礼

検証したら、たしかに""が計算されていることがわかりました。 ちなみに、どちらの関数でもできました。 気になるのが、J列のデータが許せばというのはどういうことでしょうか?

noname#241383
質問者

補足

エクセル2010です。 検証してみます。 即答に感謝です。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

できたのなら,心配するようなミスは無かったという事です。 >J列のデータが許せばというのはどういうことでしょうか? そもそものご相談の数式で#VALUEが出たのは,文字列である「""」に×1のかけ算をしようとしていたからだという事を確認しましたね? 類似のミスを,J列の具体的な内容(いまアナタがJ列にいったいどんな内容を入れてるのか,こちらでは見えません)によっては繰り返してしまう可能性がありますよということです。

noname#241383
質問者

お礼

J列はkとか変な文字列を入れることは絶対にありません。 I列には、数量か、重量が入ります。 重量の時だけ区別するためにkが入るだけです。 なので、問題なということですね。 ありがとうございました!

関連するQ&A