У меня есть столбец A и столбец B с текстом.  Я хочу скопировать столбец A в столбец C и удалить строки, которые равны или содержат значение в столбце B.

У меня есть эта формула, но она не удаляет содержащие строки, только соответствующие:

=ARRAYFORMULA(IF(ISNA(MATCH(A:A,B:B,0)),A:A,""))

Любая формула / запрос для этого?

Скриншот

(Обратите внимание, что я хочу, чтобы C2 был пустым, потому что A2 , sevdaa , содержит sevda (B3).)

1 ответ1

1

Тип

=IF(AND(A1<>"", PRODUCT(--ISERROR(FIND(B$1:B$3,A1)))>0), A1, "")

в C1 и введите Ctrl+Shift+Enter.  Затем перетащите / заполните.

  • FIND(B$1:B$3,A1) проверяет, находится ли каждое слово / имя в ячейках с B1 по B3 в слове / имени в ячейке A1 .  Это приведет к целочисленному смещению, если есть совпадение и # #VALUE! ошибка, если нет.
  • ISERROR(…) оценивается как ИСТИНА, если внутренняя формула является ошибкой (т. Е. Если нет совпадения), и ЛОЖЬ в противном случае (т. Е. Если есть совпадение).
  • -- преобразует TRUE в 1 и FALSE в 0.  Таким образом --ISERROR(FIND(B$1:B$3,A1)) будет иметь все 1, если A1 не содержит B1 , B2 или B3 , но будет содержать несколько нулей, если в B1:B3 есть строки, которые появляются в A1 .
  • И поэтому PRODUCT(…) равен 1, если все числа равны единице, и 0, если любое из них равно нулю.
  • Таким образом, если A1 не пустое, но не содержит ни одной строки B , отобразите это слово / имя в столбце C

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