Могу ли я объединить эти 3 формулы в одну формулу?

=IF(ISBLANK(R32),0)
=IF(R32<12,1)
=IF(R32>11,1.5)

Я хочу вернуть количество ячеек, равное нулю, если запись не сделана, но если ячейка больше 11, то значение этой ячейки равно 1,5, а если меньше, то значение равно 1, если только пусто, а затем пусто.

2 ответа2

4

Чтобы строго объединить ваши формулы, вы должны иметь =IF(ISBLANK(R32),0,IF(R32<12,1,IF(R32>11,1.5,""))) , однако вы можете упростить его, поскольку вы не получите на "" для результата FALSE в последнем вложенном операторе IF, потому что последний оператор IF не может быть ложным.

Строгая комбинация делает то, что вы хотите, но вы можете использовать =IF(ISBLANK(R32),0,IF(R32<12,1,1.5)) .

То, что делает оптимизированная формула, сначала проверяет, является ли R32 пустым. Если это так, вставьте 0 . Если оно не пустое, то оно переходит к следующему оператору IF. Если R32 меньше 12 вставьте 1 . Если это не так, то должно быть 12 или выше, поэтому вставьте 1.5 .

Я немного смущен, хотя с вашим последним требованием, которое было «если пусто, то пусто». У вас уже есть первый оператор IF, вставляющий 0 если пуст. Вам нужно выбрать, хотите ли вы 0 или пусто, если R32 пусто (запись не сделана). Если вы хотите пустое значение, измените 0 в первом операторе IF на ""

Еще один момент, который стоит отметить, это то, что для проверки пробела лично я считаю целесообразным использовать OR(R32="",R32=" ") вместо ISBLANK(R32) , особенно если вы делитесь листом с кем-то еще.

Причина в том, что я потерял счет тому, сколько раз кто-то вставлял пробел в ячейку, чтобы сделать его пустым, но это не так. Excel увидит пространство как данные, поскольку у вас есть символ в ячейке. Это может привести к путанице и потере времени на поиск проблемы, когда вы не получите ожидаемых результатов.

0

Если есть третий аргумент, это когда ложь. Вы бы вложили IF внутри друг друга, используя аргумент FALSE:

=IF(R32="",0,IF(R32<12,1,1.5))

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