Поиск тегов в нескольких списках, разделенных запятыми, для создания списка совпадений и результатов матчей в Google Sheets - PullRequest
1 голос
/ 23 февраля 2020

Я работаю над проектом с целью определения наилучших совпадений между 3 вкладками в нескольких столбцах данных на каждой вкладке. Пример данных

Вкладки : Менеджеры учетных записей (физические лица), Счета (компании), Ссылки (компании)

Столбцы (доступно на каждой вкладке): Специальности, Технологии, Сфера деятельности, Заказчик, Продукт, Не понравилось

Начиная с имеющейся у нас информации для определенного «Менеджера учетных записей» в каждом столбце я хотел бы выполнить поиск по столбцам на вкладках «Аккаунты» и «Лидеры» , чтобы найти наилучшее возможное соответствие между Аккаунтом Менеджер и Компания. В идеале это будет генерировать список всех совпадений и оценку качества совпадений.

Это комбинация усилий двух разных проектов. Один, где я смог создать счет матча на сетке (все на одном листе) , используя эту (ломаную) формулу:

=iferror(ifs(AND(K$9="Leads", regexmatch($I14, "Closed")), sum(arrayformula(if(iserror(filter(transpose(split($F14, ",", TRUE, TRUE)), COUNTIF(transpose(split(K$8, ",", TRUE, TRUE)), transpose(split($F14, ",", TRUE, TRUE))))), 0, 1)))*$B$6+sum(arrayformula(if(iserror(filter(transpose(split($B14, ",", TRUE, TRUE)), COUNTIF(transpose(split(K$3, ",", TRUE, TRUE)), transpose(split($B14, ",", TRUE, TRUE))))), 0, 1)))*$B$7+sum(arrayformula(if(iserror(filter(transpose(split($E14, ",", TRUE, TRUE)), COUNTIF(transpose(split(K$7, ",", TRUE, TRUE)), transpose(split($E14, ",", TRUE, TRUE))))), 0, 1)))*$B$8+sum(arrayformula(if(iserror(filter(transpose(split($E14, ",", TRUE, TRUE)), COUNTIF(transpose(split(K$6, ",", TRUE, TRUE)), transpose(split($E14, ",", TRUE, TRUE))))), 0, 1)))*$B$9+sum(arrayformula(if(iserror(filter(transpose(split($C14, ",", TRUE, TRUE)), COUNTIF(transpose(split(K$4, ",", TRUE, TRUE)), transpose(split($C14, ",", TRUE, TRUE))))), 0, 1)))*$B$10, AND(K$9="Account Manager", regexmatch($I14, "Open")), sum(arrayformula(if(iserror(filter(transpose(split($D14, ",", TRUE, TRUE)), COUNTIF(transpose(split(K$5, ",", TRUE, TRUE)), transpose(split($D14, ",", TRUE, TRUE))))), 0, 1)))*$E$6+sum(arrayformula(if(iserror(filter(transpose(split($H14, ",", TRUE, TRUE)), COUNTIF(transpose(split(K$5, ",", TRUE, TRUE)), transpose(split($H14, ",", TRUE, TRUE))))), 0, 1)))*$E$7+sum(arrayformula(if(iserror(filter(transpose(split($G14, ",", TRUE, TRUE)), COUNTIF(transpose(split(K$2, ",", TRUE, TRUE)), transpose(split($G14, ",", TRUE, TRUE))))), 0, 1)))*$E$8, AND($K9="Leads", NOT(regexmatch($I14, "Closed"))), "NO SCORE", AND(K$9="Account Manager", NOT(regexmatch($I14, "Open"))), "NO SCORE"), 0)

И другой, где Мне удалось использовать QUERY для создания списка менеджеров учетных записей на основе местоположения и статуса, но для этого требуются точные совпадения, и я не могу выполнять поиск в разделенных запятыми списках:

=QUERY(Account Managers!A2:AJ1000, "select B, R, A, E, F WHERE 1=1 "&if(H1="All Regions", "", " AND LOWER(E) = LOWER('"&H1&"') ")&IF(H2="All Statuses", "", " AND LOWER(F) = LOWER('"&H2&"') "), 1)

быть способ сделать это более аккуратно в ведомостях. Как я могу объединить эти два, чтобы получить этот вывод ?

...