セルが = * の場合はゼロとして計算します

セルが = * の場合はゼロとして計算します

セルは 4 つあり、a1、b1、c1、d1 です。a1、b1、c1 には数値が保持され、d1 にはそれらの合計が格納されます。

場合によっては、そのカテゴリに数字がない場合にセルにアスタリスク (*) が入ることがあります。そのため、アスタリスクを使用します。d1 には数式があります=sum(a1:c1)が、結果は、!value#一部のセルにアスタリスクが入ったために発生します。

zero合計計算で アスタリスク (*) をカウントするには、数式をどのように記述すればよいですか?ここに画像の説明を入力してください

答え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

あなたの数式はSUM3 つのセルに関係していません。言い換えれば、それらは同じではありません=sum(A1:D1)。むしろ、積を掛け合わせて合計しているため、エラーが発生します。

試す(処理したいセルへのセル参照を変更する)

=SUM(IF(ISNUMBER(B2:D2),B2:D2)*{100,150,200})

ctrl+shiftを押しながら入力すると配列数式として入力されますenter

正しく実行すると、Excel は{...}数式の周囲に中括弧を配置します。

関連情報