Страницы: 1
RSS
Определение оператора по диапазонам телефонных номеров
 
Есть три столбика: Оператор и два диапазона телефонных номеров которые этот оператор использует, по этим спискам должен идти поиск. Есть данные(телефонные номера) задача состоит в том, чтобы к каждому номеру соотнести своего оператора. Проблема состоит в том, что пулы телефонных кодов которые используют операторы идут с пробелами, например:
ПАО   "Ростелеком"7301211000073012129999
ПАО "Ростелеком"7301215000073012169999
На текущий момент использую формулу для подстановки оператора: =ИНДЕКС($A$2:$A$384921;ПОИСКПОЗ(G2;$B$2:$B$384921;1)) делающую поиск по ближайшему наименьшему значению из пула номеров, но из-за того что некоторые указанные номера могут вне этих диапазонов, результат отображается не правильный. Пример:
73012130001ПАО "Ростелеком"
73433320715ПАО "Ростелеком"
73433321412ПАО "Ростелеком"
Нужна ваша помощь в решении проблемы...
Я вижу два варианта, либо вынести отдельные пулы с пометкой "Не используемые коды", но ничего подобного найти не смог чтобы автоматизировать процесс. Либо как-то подправить формулу поиска.
Можете что-нибуть подсказать? Заранее спасибо!
P.S. полная версия файла на 100+к сток телефонных кодов, ручной вариант не подойдет совсем)
 
И Вам здравствуйте
Массивная
=INDEX($A$2:$C$37;SMALL(IF((G2>=$B$2:$B$37)*(G2<=$C$2:$C$37);ROW($A$2:$A$37)-1;"");1);1)
 
bigorq, Вроде всё правильно, большое спасибо). И может подскажете, есть способ превратить значения 7921 в 7921000000, т.е. добавить нули в конце до нужного кол-ва символов?  
 
Ну раз я первый влез, то
Тема: Определение оператора по диапазонам телефонных номеров
Роман,  тему нужно предложить, модераторы сами поменяют
 
bigorq, Название хорошее, но опять же, кнопки не вижу, модераторы сами поймут что нужно указать?
 
Цитата
Роман написал:
способ превратить значения 7921 в 7921000000
как вариант =C9*10^(10-ДЛСТР(C9)) в С9 наше число
 
Цитата
bigorq написал:
С9 наше число
=LEFT(C9&"0000000000";10)
Если в данных не более 5 символов. то можно конечно
=LEFT(C9*10^10";10) но смысла мало

Сам поиск =LOOKUP(2;1/(G2>=$B$2:$B$37)/(G2<=$C$2:$C$37);$A$2:$A$37)
Изменено: БМВ - 21.01.2021 07:59:13
По вопросам из тем форума, личку не читаю.
 
БМВ, можно по точнее, как должно работать вот эта часть?
Цитата
БМВ написал:
1/(G2>=$B$2:$B$37)/(G2<=$C$2:$C$37)
сравнение больше-равно, меньше-равно мне понятно, но как это относится к 1/х/х? Уточняю т.к. к данной таблице данный вариант приминителен, но вот с основной базой он путается, скорее всего как раз из-за того что там есть короткие коды
Цитата
bigorq написал:
как вариант =C9*10^(10-ДЛСТР(C9)) в С9 наше число
Вот это идеально! Благодарю!
Страницы: 1
Наверх