2016-04-26 2 views
0

Я не могу найти пример достаточно близко к этому на StackOverflow так здесь идет:Верстка И НЕ ISBLANK с НЕСКОЛЬКИМИ МСФАМИ

Я хочу вернуть сообщение «Тип?» если ячейка X пуста, а ячейка Y имеет любой текст. Но я пытаюсь уложить его в существующий набор IFs.

Существующее:

=IF($G241="Evo";M241*L241;IF($G241="Free";M241*L241;IF($G241="GN";M241*L241)))) 

Птенец это в выше:

=IF(AND(NOT(ISBLANK($J234));ISBLANK(G234));"Type?";"OK") 

Я попытался это, но она возвращает FALSE, может быть, из-за, и я использую, что мне нужно, так как я m, создавая возврат на основе двух ячеек двух ячеек.

=IF($G240="Evo";M240*L240;IF(AND(NOT(ISBLANK($J240));ISBLANK(G240);"Type?";"OK");IF($G240="Free";M240*L240;IF($G240="GN";M240*L240)))) 

получения ошибки:

AND expects boolean values. But 'Type?' is a text and cannot be coerced to a boolean.

+0

Когда вы говорите какой-либо текст, вы имели в виду буквы, или если число 10 было в ячейке Y, это также воспринимается как текст? является ячейкой X в столбце J или столбцом G? –

ответ

0
IF(and(isblank(cell x),iferror(isstring(cell y),false)),"Type?","OK") 

Это должно сделать это для вас, я думаю. вам нужно будет заменить ячейки x и ячейку y соответствующими ссылками. Оператор iferror должен поймать, что происходит при оценке пустой ячейки y.

Проблема с этой формулой

=IF($G240="Evo";M240*L240;IF(AND(NOT(ISBLANK($J240));ISBLANK(G240);"Type?";"OK");IF($G240="Free";M240*L240;IF($G240="GN";M240*L240)))) 

это вы пытаетесь проверить G240 для различных значений, когда это косяк. Давайте упростим вашу формулу. Мы заменим ваш пустой чек клеток с FORMULA 1

=If($G240="EVO", Do True Condition, Do Formula 1, IF(G$240=Free, Do Free True Condition, Do Free False Condition) 

Проблема заключается в том, так как вы уже сделали что-то (формула 1), когда G240 = «EVO», вы не можете начать новую проверку на каком G240 после факта с тем, как вы вложили свою формулу. тестовый способ думать о том, как сделать вторую проверку, когда G240 = «EVO» является ложным. Помните, что общий формат оператора if:

IF(CONDITION,True Result, False Result) 

В инструкцию if есть только 3 вещи. вы пытались положить в 3.

Попробуйте перестановкой к этому:

=If($G240="EVO", Do True Condition, IF(SOME CHECK to determine DO FOMULA 1 or CHECK for G240 = FREE, Do Formula 1, IF(G$240=Free, Do Free True Condition, Do Free False Condition))) 

В основном ломаются, что вы хотите, чтобы проверить в G240 и сделать это в последовательности с вашим утверждением IF. Прямо сейчас с тем, что вы написали, я не могу сказать, как вы хотите определить, хотите ли вы запустить свою формулу 1, или если вы хотите проверить, является ли G240 = «свободным», поскольку у вас есть два разных результата, если G240 = «Свободный»/

+0

Я настоятельно рекомендую использовать ISBLANK(). пустая ячейка и ячейка содержат «» или все пространство отображается одинаково. «" или пространство, однако, не являются пустыми ячейками. вместо использования isblank я обычно использовал бы чек вроде 'if (A1 =" ", TRUE, FALSE)' или, возможно, даже 'IF (TRIM (A1) =" ", TRUE, FALSE)' и заменяет true/false части с действием, которое я бы сделал в этих случаях. –

0

OK Я думаю, что нашел проблему. IF (AND (NOT (ISBLANK работает на нем, так как в формуле нет других IFs). Я хочу протестировать две разные ячейки для текста (буквы), чтобы показать предупреждение, если одна ячейка была пустой, а другая - Но как только вы вставляете (AND в строку из нескольких IFs, это не сработает). Просто удалите (и это все, что мне нужно было сделать. Еще один способ получить тест для нескольких пустых ячеек - просто добавьте несколько IF (ISBLANKs. EG: = IF (ISBLANK (A1) + IF (ISBLANK (A2)> 2; условие true; условие false)

ForwardEd благодарит за вашу помощь! С уважением

Смежные вопросы