Страницы: 1
RSS
Как слить два списка в один и удалить дубликаты формулами динамического массива?
 
Есть два списка контрагентов в двух таблицах на разных листах одной книги. Контрагенты могут повторяться. Можно ли сочетанием УНИК и ФИЛЬТР или др. функциями слить два списка  (один под другим) на третьем листе и удалить дубликаты?
Пример во вложении.
Изменено: voler83 - 17.06.2022 10:32:32
 
ТУТ читали
 
Цитата
написал:
ТУТ  читали
да. Формулы массива не подходят, т.к. будут таблицы с десятками или даже сотнями тысяч строк, все зависнет. PowerQ будет отдельным вариантом Формулы динамич. массива будут также отдельным вариантом.
П.С.: я, буквально, делаю дашборд, показывающий риски по контрагентам по признакам по загруженным выгрузкам их бухгалтерской системы. Будет огромное кол-во таблиц, сотни тысяч записей, все должно работать с минимальными затратами ресурсов, автоматически по загруженным выгрузкам из бух. системы. Поэтому ищу минимально простые формулы.
 
Как Вариант:
Код
=УНИК(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ОБЪЕДИНИТЬ("\";1;ОБЪЕДИНИТЬ("\";1;Список1!$A$1:$A$6);ОБЪЕДИНИТЬ("\";1;Список2!$A$1:$A$4));"\";"</s><s>")&"</s></t>";"//s"))

На сколько будет виснуть при таких формулах сказать не могу. Попробуйте потом расскажите  :D
Цитата
voler83 написал:
Будет огромное кол-во таблиц, сотни тысяч записей, все должно работать с минимальными затратами ресурсов, автоматически по загруженным выгрузкам из бух. системы. Поэтому ищу минимально простые формулы.
Думаю Вам нужно смотреть в сторону PQ или VBA
 
Цитата
voler83 написал:
Будет огромное кол-во таблиц, сотни тысяч записей, все должно работать с минимальными затратами ресурсов, автоматически по загруженным выгрузкам из бух. системы. Поэтому ищу минимально простые формулы.
Какие формулы? PQ.
 
Цитата
написал:
Как Вариант:
Код
    [URL=#]?[/URL]       1      =УНИК(ФИЛЬТР.XML(  "<t><s>"  &ПОДСТАВИТЬ(ОБЪЕДИНИТЬ(  "\";1;ОБЪЕДИНИТЬ("  \  ";1;Список1!$A$1:$A$6);ОБЪЕДИНИТЬ("  \  ";1;Список2!$A$1:$A$4));"  \  ";"  </s><s>  ")&"  </s></t>  ";"  //s"))   
 
На сколько будет виснуть при таких формулах сказать не могу. Попробуйте потом расскажите  
Цитата
voler83 написал:
Будет огромное кол-во таблиц, сотни тысяч записей, все должно работать с минимальными затратами ресурсов, автоматически по загруженным выгрузкам из бух. системы. Поэтому ищу минимально простые формулы.
Думаю Вам нужно смотреть в сторону PQ или VBA
почему-то перестает работать при расширении диапазона столбцов - например, ставлю Список1!$A$1:$A$60 - работает, ставлю Список1!$A$1:$A$600 - не работает, выдает ошибку #ЗНАЧ, хотя значений не 600, а неск. десятков тысяч. Специально для проверки создал листы с теми же именами, чтобы ничего не изменять в формуле.
Изменено: voler83 - 17.06.2022 11:39:54
 
Цитата
voler83 написал:
не работает
Ну чем мог, тем помог   :(
Моё мнение, с такими объемами либо PQ, либо макросы
 
Цитата
написал:
Цитата
voler83 написал:
не работает
Ну чем мог, тем помог    
Моё мнение, с такими объемами либо PQ, либо макросы
Начинает выдавать ошибку, когда в Список2!$A$1:$A$4 ставишь Список2!$A$1:$A$6
 
Цитата
написал:
Список1!$A$1:$A$600 - не работает
не правда ваша. все работает. сделал до 2000
 
Цитата
Vik_tor написал:
не правда ваша. все работает. сделал до 2000
Правда, у меня на 800 сломалась, кстати в примере 200 вместо 2000.
Вы значения в исходниках протяните до 2000
Изменено: Msi2102 - 17.06.2022 12:54:57
 
Msi2102уникальном, да, ломается на 582 элементе  
 
видимо зависит от количества символов. так с другим наполнением списка( короче записи) получилось больше элементов в объединении.
Страницы: 1
Наверх