это мой стол:

   A                 B                   c
1  foo.com/page1     foo.com/page1?xyz
2  foo.com/page2     foo.com/page1?abc
3  foo.com/page3     foo.com/page8?xyz

для каждого элемента в columnB я хочу знать, есть ли соответствующий элемент в ColumnA (результат должен быть: B1> TRUE, B2> TRUE, B3> FALSE)

Я пробовал это:

 =match(B1, A:A&"*")

но это не работает

Любая идея?

1 ответ1

-1

Это решение относится к вашему примеру.

Используя приблизительное совпадение VLOOKUP вместо точного совпадения, у вас есть возможность сделать что-то "нечеткое" совпадение, как вы описываете.

=IFERROR(IF(LEFT(B1,LEN(VLOOKUP(B1,A:A,1,TRUE)))=VLOOKUP(B1,A:A,1,TRUE),TRUE,FALSE),FALSE)

По сути, формула ищет наиболее близкое совпадение, которое можно найти, используя вашу единственную длинную строку и выполняя поиск по множеству более коротких строк.

  • Идентифицирует первое близкое совпадение

  • Проверяет, что все символы в вашем совпадении столбца A представлены в строке B столбца, начиная с самого левого символа

  • Возвращает TRUE, если все символы в совпадении A представлены в вашей строке B

  • Возвращает FALSE, если не все символы в совпадении A представлены в вашей строке B

Слабость (почему это может не сработать с достоверными данными):

Пример содержит номера страниц 1, 2, 3. Если строка столбца B является страницей 11, эта формула вернет TRUE, когда она соответствует 1 (она не будет искать 11).

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