![セルが = * の場合はゼロとして計算します](https://rvso.com/image/1552762/%E3%82%BB%E3%83%AB%E3%81%8C%20%3D%20*%20%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%E3%82%BC%E3%83%AD%E3%81%A8%E3%81%97%E3%81%A6%E8%A8%88%E7%AE%97%E3%81%97%E3%81%BE%E3%81%99.png)
答え1
あなたの写真はあなたの質問で与えられた式と一致しません。質問の式にはあなたが尋ねている問題はありません:
=SUM(A1:C1)
範囲 A1:C1 内の数値の合計を返します。SUM 関数は、テキスト値をゼロとして扱います。
しかし、図の数式はエラーを返します。P1が数値でない場合、P1*150はエラーを返すからです。SUM関数を使用してテキストをゼロとして扱いたい場合は、セル値に適用する必要があります。前に計算は行いません。セルがテキストである可能性を考慮するには、数式を次のように置き換えます。
=SUM(O2)*100+SUM(P2)*150+SUM(Q2)*200
答え2
行 2 を使用して行 1 を解析します。たとえば、セル A2 は と表示されます=IF(ISNUMBER(A1),A1,0)
。これにより、行 2 の数字以外の文字が 0 に置き換えられます。行 2 を合計します。
答え3
あなたの数式はSUM
3 つのセルに関係していません。言い換えれば、それらは同じではありません=sum(A1:D1)
。むしろ、積を掛け合わせて合計しているため、エラーが発生します。
試す(処理したいセルへのセル参照を変更する)
=SUM(IF(ISNUMBER(B2:D2),B2:D2)*{100,150,200})
ctrl+shiftを押しながら入力すると配列数式として入力されますenter
正しく実行すると、Excel は{...}
数式の周囲に中括弧を配置します。