Новости:

Прикрепить к сообщению можно только файлы xls, gif, jpg, rar, zip,7z, bas, frm, cls, doc размером до 150 Кб.

Главное меню

Выявить похожие значения в 2х массивах

Автор Виола Миленина, 21.04.2017, 11:51

« назад - далее »

Виола Миленина

Здравствуйте. Есть 2 массива с внесенными значениями. Надо выявить и найти одинаковых контрагентов в двух массивах. По факту они есть, но если только искать во втором массиве руками (что надо перелопатить за много часов). ВПР не подтягивается, так как например в одном массиве ЧП Круглов. , а во втором Круглов В.
Помогите, пожалуйста, какой алгоритм применить? В программировании я 0 ( А руками по 100 ТТ в час, это все выходные и след неделя, т.к. объем огромный.

zs5


Виола Миленина

zs5, не ищет значения по этой формуле.

IKor

2 Виола

К сожалению, Excel'ю трудно объяснить, что "ЧП Круглов" и "Круглов В." - это одно и то же лицо.
Нужно каким-то образом вычленить смысловую составляющую имени "Круглов" и уже ее искать в одном или обоих диапазонах.
В чем Вам поможет формула такого вида:
=ПОИСКПОЗ("*"&"Круглов"&"*";ДиапазонПоиска;0)
Но сразу хочу предупредить, что она вернет номер первого вхождения Круглова в просматриваемом диапазоне, а возможные прочие вхождения проигнорирует.

Поэтому можно использовать формулу
=СЧЁТЕСЛИ(ДиапазонПоиска;"*"&"Круглов"&"*")>1
которая вернет значения ИСТИНА для "всех Кругловых", которые встречаются в просматриваемом диапазоне более одного раза. Такую формулу можно использовать в Условном Форматировании для выделения "потенциальных Кругловых" цветом.
Но вопрос вычленения "разных Кругловых" все-равно придется как-то решать.

vikttur

Количество повторов первого слова:
=СЧЁТЕСЛИ(C:C;"*"&ПСТР(B5;2;ПОИСК(" ";B5)-2)&"*")
Искать позицию сложнее:
=МИН(ЕСЛИ(ЕЧИСЛО(ПОИСК(ПСТР(B5;2;ПОИСК(" ";B5)-2);$C$5:$C$20000));СТРОКА($C$5:$C$20000)))
Формула вводится как формула массива (Ctrl+Shift+Enter), показывает номер строки с первым найденным вариантом.

zs5

#5
Формула для большинства контрагентов:
=ПОИСКПОЗ(Q13;Лист2!O1830:O1833;0)
в Q13 формула:
=ПСТР(ЕСЛИ(НАЙТИ(" ";ПОДСТАВИТЬ(B13;СИМВОЛ(34);""))<=4;ЗАМЕНИТЬ(ПОДСТАВИТЬ(B13;СИМВОЛ(34);"");1;НАЙТИ(" ";ПОДСТАВИТЬ(B13;СИМВОЛ(34);""));"");ПОДСТАВИТЬ(B13;СИМВОЛ(34);""));1;НАЙТИ(" ";ЕСЛИ(НАЙТИ(" ";ПОДСТАВИТЬ(B13;СИМВОЛ(34);""))<=4;ЗАМЕНИТЬ(ПОДСТАВИТЬ(B13;СИМВОЛ(34);"");1;НАЙТИ(" ";ПОДСТАВИТЬ(B13;СИМВОЛ(34);""));"");ПОДСТАВИТЬ(B13;СИМВОЛ(34);""));1)-1)
на 2 листе в диапазоне O1830:O1833 формула:
=ПСТР(ЕСЛИ(НАЙТИ(" ";ПОДСТАВИТЬ(A1833;СИМВОЛ(34);""))<=4;ЗАМЕНИТЬ(ПОДСТАВИТЬ(A1833;СИМВОЛ(34);"");1;НАЙТИ(" ";ПОДСТАВИТЬ(A1833;СИМВОЛ(34);""));"");ПОДСТАВИТЬ(A1833;СИМВОЛ(34);""));1;НАЙТИ(" ";ЕСЛИ(НАЙТИ(" ";ПОДСТАВИТЬ(A1833;СИМВОЛ(34);""))<=4;ЗАМЕНИТЬ(ПОДСТАВИТЬ(A1833;СИМВОЛ(34);"");1;НАЙТИ(" ";ПОДСТАВИТЬ(A1833;СИМВОЛ(34);""));"");ПОДСТАВИТЬ(A1833;СИМВОЛ(34);""));1)-1)
для записей формата "Общество с ограниченной ответственностью  Наименование":
=ПСТР(A1;НАЙТИ("!";ПОДСТАВИТЬ(A1;" ";"!";ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";"")));1)+1;100)