
это моя таблица:
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
для каждого элемента в столбце B я хочу узнать, есть ли соответствующий элемент в столбце A (результат должен быть: B1>TRUE,B2>TRUE,B3>FALSE)
Я попробовал это:
=match(B1, A:A&"*")
но это не работает.
Есть идеи?
решение1
Это решение узко применимо к вашему примеру.
Используя приблизительное совпадение ВПР вместо точного, вы можете выполнить что-то вроде «нечеткого» совпадения, как вы описываете.
=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, эта формула вернет значение ИСТИНА при совпадении с 1 (она не будет искать 11).