Нужно по входным номерам определить направление вызова (маршрут для него). Столбец C – входящие номера (исходные данные). Т.е если приходит вызов на номер 1075566 нужно проверить столбец B на совпадения, начиная полностью по совпадению, затем с младшего символа (107556х) и если нет совпадений отбрасывать еще по символу и тд , пока не найдется первое совпадение . Таким образом для 1075566 подходит маршрут 77 с критерием отбора 105. Т.е. в столбец D4 функция должна вернуть значение 77.
Думаю, что нужно применять ВПР, но как реализовать отбрасывание разрядов (6 итераций для каждого номера) - не знаю.
Все номера в текстовом формате, т.к если числа , то в номерах таки как 001хххх нули будут отброшены.
чехарда с текстом и не текстом а так =INDEX(A:A;MATCH(LEFT(C2;1+LEN(C2)-MIN(IF(ISNUMBER(MATCH(LEFT(C2;1+LEN(C2)-ROW(A$1:INDEX(A:A;LEN(C2))));B:B;));ROW(A$1:INDEX(A:A;LEN(C2))))));B:B;))
Rom251, нужно чтоб данные были или текстовые или числовые внутри скрин на котором видно чт о105 - это текст, а остальное числа. для чисел формула чуть другая =INDEX(A:A;MATCH(--LEFT(C2;1+LEN(C2)- MIN(IF(ISNUMBER(MATCH(--LEFT(C2;1+LEN(C2)-ROW(A$1:INDEX(A:A;LEN(C2))));B:B;));ROW(A$1:INDEX(A:A;LEN(C2))))) );B:B;))
тогда так =INDEX(A:A;MATCH(LEFT(C2;1+LEN(C2)- MIN(IF(ISNUMBER(MATCH(LEFT(C2;1+LEN(C2)-ROW(A$1:INDEX(A:A;LEN(C2))));B:B;));ROW(A$1:INDEX(A:A;LEN(C2))))) );B:B;))