Формула, которую я использую в столбце J: = IFERROR(IF(B1> 0, H1 * I1, ""), ""). В столбцах H и I большинство записей пустые (не ноль), а J вычисляет 0. В строке 23 J изменяется, чтобы вычислить "", пока B все еще> 0. Если я пытаюсь умножить H22 на I23, я получаю ошибку, и когда я иду к расчету, он пытается умножить (H22)"0" x (I23)«». Я понятия не имею, почему перестает ссылаться на пустые ячейки как ноль в этой строке, они все одного типа данных (Общие). Я пытался изменить их все на номер, но это ничего не изменило.

Я понимаю, что пустые ячейки отличаются от ячеек с нулевыми значениями, но обе ячейки являются пустыми, и одна вычисляется как пустая, а другая вычисляется как ноль, и я не знаю почему.

Картинка с формулами Картинка с ценностями

1 ответ1

0

Значение "" является текстом и не может использоваться как число. Попытка использовать его в прямой арифметике вызовет страшную #VALUE! ошибка. Однако большинство функций будут игнорировать такие значения. И да, это противоречиво.

Поэтому, чтобы избежать ошибки, вы должны использовать функцию. Например, функция ПРОДУКТ.

При умножении числа на пустое значение PRODUCT игнорирует пустую ячейку и возвращает в качестве значения другую непустую ячейку. Если это не то, что вы хотите, используйте функцию ISNUMBER, аналогичную:=IF(ISNUMBER(A1);A1*B1;0) .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .