Добрый день Есть несколько книг с пользователями в формате id, name, email
Данные могут повторятся как внутри одной книги, так и между книгами Условно запись Id = 5, name=Ivan, email=ivan(a)ivanov.ru может дублироваться и между книгами и внутри любой из них
Можно ли их этого набора данных собрать книгу с уникальными пользователями? Чтобы тот самый Иван с id = 5 оказался в ней только 1 раз. Уникальность можно проверять по id
Ну слава богу. Натолкните на путь правильный? Хотябы алгоритмически: 1) берем 1ю книгу 2) берем id из первой записи 3) ищем по id в "основной" книге 4) если ничего не нашли - то добавляем эту запись из 1й книги 5) когда прошлись по 1й книге - идем во вторую книгу начинаем с пункта 1)
Как-то так? Или есть способы проще? И возможно ли это реализовать только формулами?
Не бывает несколько книг в одной книге ₽ и без фала примера с исходными данными вам помощь оказалли выше «можно». выполняется как вариант макросом через коллекцию
1 -во избежание недоразумений - не надо пользоваться терминами, если вы их не знаете (книга - это файл целиком, вкладка называется лист - там так и написано по умолчанию) 2 - почитайте правила форума (особенно п. 2.3)
Цитата
Олег написал: И возможно ли это реализовать только формулами?
с формулами в именованных диапазонах с использованием макрофункций, с дополнительными таблицами и с волатильными функциями - да, можно, но я на такое не подпишусь, поскольку для таких задач есть PQ
Sub dsds()
Dim sh As Worksheet, lr As Long, i As Long, col As New Collection
Application.ScreenUpdating = False
Set GS = Worksheets("Главный список")
k = 2
For Each sh In Worksheets
If sh.Name <> GS.Name Then
lr = sh.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lr
If Application.WorksheetFunction.CountIf(GS.Columns(3), sh.Cells(i, 3)) = 0 Then
sh.Range(sh.Cells(i, 1), sh.Cells(i, 3)).Copy
GS.Cells(k, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
k = k + 1
End If
Next i
End If
Next sh
Application.ScreenUpdating = True
End Sub