Функция ЕСЛИ в Excel для устранения неполадок

у меня проблемы с использованием функции ЕСЛИ. В основном я хочу иметь возможность создать ячейку, которая умножает несколько других ячеек, а также ДОБАВЛЯЕТ другую. Пока формула работает, но если я не ввожу какую-либо информацию в другие ячейки, она показывает значение «1», что действительно раздражает. Как я могу отредактировать свою формулу, чтобы избежать «1»?

Это формула, которую я использую в тот момент, когда я ушел с другого сайта:

IF(G5="",1,G5) * IF(H5="",1,H5) +I5 *IF(G5&H5="",0,1)

person Mitchell Kerr    schedule 28.07.2014    source источник


Ответы (2)


Поскольку вы добавляете I5 в конце. Я думаю, что вы могли бы изменить свои операторы IF, чтобы использовать 0 вместо 1.

IF(G5="",0,G5) * IF(H5="",0,H5) +I5 *IF(G5&H5="",0,1)

Однако, если вы хотите, чтобы результат был пустым, а не нулевым (поскольку I5 может быть пустым), вам нужно изменить свою формулу, чтобы проверить, являются ли G5 или H5 уже пустыми.

IF(G5="" OR H5="","",G5 * H5) +I5

Если вы хотите иметь пустые значения для G5 или H5, вам следует избегать умножения. Вы можете использовать другой встроенный IF.

IF(G5="" OR H5="",(IF G5="",H5,G5)),G5 * H5) +I5

если G5 пусто или H5 пусто, вы не можете их умножить. Если G5 пуст, используйте H5 (независимо от того, пуст ли H5). Если G5 и H5 не пустые, то умножьте их. Добавляйте I5 независимо от его содержания.

person tgolisch    schedule 28.07.2014
comment
Спасибо за быстрый ответ tgolisch. Формула отлично работает, если я ввожу все 3 значения, но я хочу, чтобы она работала, если я выбираю ввести только 2 или 1 значение (например, просто число в G5 или H5). Извините за занозу в заднице, но я был бы так благодарен, если бы вы могли мне помочь !!! - person Mitchell Kerr; 28.07.2014
comment
Я добавил третью формулу. Он должен лучше обрабатывать пустые значения для G5 и H5. - person tgolisch; 28.07.2014

Я думаю (но не уверен!) это может подойти:

=IF(OR(G5="",H5=""),"",G5*H5+I5)  

Это лишь немногим больше половины числа символов формулы, которую вы получили с другого веб-сайта, что заставляет меня задаться вопросом, пытался ли он добиться чего-то немного другого (например, 1 по умолчанию!), или я неправильно понял ваше требование .

Выше приведен стандартный оператор IF:

ЕСЛИ( условие, [значение_если_истина], [значение_если_ложь] )

который проверяет, является ли G5 или H5 пустым с ИЛИ. Если любой из них пуст, условие выполняется и возвращается значение _if_true (т.е. "" - (пусто) ).

В противном случае проверка не удалась (условие ложно), поэтому возвращается альтернатива произведения G5 и H5, добавленная к I5.

С учетом вышеизложенного I5 не будет возвращен сам по себе (даже если только один из G5 и H5 пуст).

person pnuts    schedule 21.09.2014