Как сделать так, чтобы моя формула показывала пустое, если искомая ячейка пуста? - PullRequest
0 голосов
/ 28 января 2019

У меня есть ячейка '$ A', которая ищет ячейку '$ N'.Ячейка '$ N' содержит VLOOKUP, который извлекает несколько тегов из другого листа данных.«$ A» ищет два слова «CS» и «IG».Мне нужна моя формула для $ A, чтобы показать пустую ячейку, если $ N не потянул данные.

Моя формула для $ A = IFERROR (IF (ПОИСК (" CS ", $ N20), "CS"), "IG")

edit* Формула найдена в '$ N' = IFERROR (VLOOKUP ($ F2, Данные! $ A: $ J, 9, FALSE), "")

Столбец A должен отображать CS, IG или просто бытьоставлено пустым.

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Хорошо.Основываясь на следующих предположениях, взятых из ваших комментариев:

  • "IG" и "CS" скважина никогда не появляются вместе в столбце N.

  • СтолбецN всегда будет содержать «IG» ИЛИ содержать «CS» ИЛИ быть пустым.

Попробуйте это:

enter image description here

=IF($N1="","",IF(ISERROR(SEARCH("CS",$N1)),"IG","CS"))

Как работает эта формула:

  1. Если в поле N пусто, возвращаем пустое значение.
  2. Если поле N не пусто, проверьте, если поиск "CS"в столбце N возвращает ошибку.
  3. Если возвращается ошибка, это означает, что столбец N не содержит «CS» и, следовательно, возвращает «IG».
  4. Если поиск не возвращаетошибка, это означает, что "CS" был найден, и это то, что должно быть возвращено.

Если вам нужно больше разъяснений, просто дайте мне знать.

РЕДАКТИРОВАТЬ: КАК ANASIDE

В своих комментариях вы сказали, что в столбце N у вас есть эта формула:

=IFERROR(VLOOKUP($F20,Data!$A:$J,9,FALSE), 0)

Я вижу несколько проблем с этим:

  1. Когда вы возвращаете столбец 9, это столбецmn I, поэтому ваш диапазон может быть Data! $ A: $ I (я не уверен, но, поскольку это меньший диапазон, он может вычисляться быстрее).
  2. Если значение не найдено, оно будетвернуть ноль, а не пробел, что и проверяет моя формула, приведенная выше.
  3. Вам следует рассмотреть вместо этого использование формулы INDEX / MATCH, поскольку она намного быстрее и более универсальна.

Пожалуйста, смотрите мою предложенную формулу ниже:

=IF(INDEX(Data!$I:$I,MATCH($F20,Data!$A:$A,0))="","",INDEX(Data!$I:$I,MATCH($F20,Data!$A:$A,0)))
0 голосов
/ 28 января 2019

Вам нужно изменить свой код, чтобы отразить это ...

=IFERROR(IF(SEARCH("CS",$N20),"CS", "IG"),"")

Если похоже, что вы, возможно, забыли поместить выражение 'false' в функцию формулы.

Вы также можете попробовать это ...

=If(Search("CS",$N20), "CS", if(Search("IG", $N20), "IG", ""))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...