вычислить как ноль, где ячейка = *

вычислить как ноль, где ячейка = *

Имеется четыре ячейки a1, b1, c1, d1. Ячейка a1, b1, c1 содержит число, а ячейка d1 — их сумму.

Иногда ячейка может быть заполнена звездочкой (*), когда для этой категории нет номера, поэтому я использую звездочку. d1 имеет формулу =sum(a1:c1), но результат получается !value#из-за того, что некоторые ячейки заполнены звездочкой.

Как мне записать формулу для подсчета звездочек (*), как zeroв подсчете суммы? введите описание изображения здесь

решение1

Ваша картинка не соответствует формуле, приведенной в вашем вопросе. Формула в вопросе не имеет проблемы, о которой вы спрашиваете:

=SUM(A1:C1) 

вернет сумму любых чисел в диапазоне A1:C1. Функция SUM обрабатывает любые текстовые значения так, как если бы они были равны нулю).

Однако формула на рисунке возвращает ошибку, поскольку P1*150 возвращает ошибку, если P1 не является числом. Если вы хотите использовать функцию SUM для обработки текста как нуля, вам нужно применить ее к значению ячейкидовыполняя с ним любые арифметические действия. Чтобы допустить возможность того, что любая из ячеек будет текстом, замените формулу на:

=SUM(O2)*100+SUM(P2)*150+SUM(Q2)*200

решение2

Используйте строку 2 для разбора строки 1. Например, ячейка A2 будет читаться как =IF(ISNUMBER(A1),A1,0). Это заменит нечисла на нули в строке 2. Сумма строки 2.

решение3

Ваша формула не SUMing трех ячеек. Другими словами, это НЕ то же самое =sum(A1:D1). Вместо этого вы умножаете и суммируете продукты, отсюда и ваш ошибочный результат.

Пытаться(изменяя ссылку на те ячейки, которые вы хотите обработать)

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

вводится как формула массива путем удержания ctrl+ shiftпри нажатииenter

ЕСЛИ вы сделаете это правильно, Excel заключит {...}формулу в фигурные скобки.

Связанный контент