Как создать список уникальных значений из нескольких листов в Excel?
При работе с данными, распределенными по нескольким листам в Excel, может возникнуть необходимость объединить информацию и создать список уникальных значений. Хотя Excel не предоставляет прямой встроенной функции для этой задачи, существуют несколько методов ее выполнения. В этой статье мы рассмотрим три практичных подхода к созданию списка уникальных значений из нескольких листов.
Создание списка уникальных значений из нескольких листов
Создание списка уникальных значений из нескольких листов с помощью кода VBA
Чтобы перечислить все уникальные значения со всех листов, следующий код VBA может помочь вам, сделайте следующее:
1. Нажмите и удерживайте клавиши "ALT + F11", чтобы открыть окно "Microsoft Visual Basic for Applications".
2. Нажмите "Вставить" > "Модуль" и вставьте следующий макрос в окно Модуля.
Код VBA: Создание списка уникальных значений из нескольких листов:
Sub SheelsUniqueValues()
Dim xObjNewWS As Worksheet
Dim xObjWS As Worksheet
Dim xStrAddress As String
Dim xIntRox As Long
Dim xIntN As Long
Dim xFNum As Integer
Dim xMaxC, xColumn As Integer
Dim xR As Range
xStrName = "Unique value"
Application.ScreenUpdating = False
xMaxC = 0
Application.DisplayAlerts = False
For Each xObjWS In Sheets
If xObjWS.Name = xStrName Then
xObjWS.Delete
Exit For
End If
Next
Application.DisplayAlerts = True
For xFNum = 1 To Sheets.Count
xColumn = Sheets(xFNum).Cells.Find(What:="*", after:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
If xMaxC < xColumn Then
xMaxC = xColumn
End If
Next xFNum
Application.DisplayAlerts = True
Set xObjNewWS = Sheets.Add(after:=Sheets(Sheets.Count))
xObjNewWS.Name = xStrName
For xColumn = 1 To xMaxC
xIntN = 1
For xFNum = 1 To Sheets.Count - 1
Set xR = Sheets(xFNum).Columns(xColumn)
If TypeName(Sheets(xFNum).Columns(xColumn).Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)) <> "Nothing" Then
xIntRox = xR.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Sheets(xFNum).Range(Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address).Copy
Cells(xIntN, xColumn).PasteSpecial xlValues
xIntN = xIntRox + xIntN + 1
End If
Next xFNum
If xIntRox - 1 > 0 Then
xIntRox = xIntN - 1
xStrAddress = Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address
Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
Range(xStrAddress).Copy
Cells(1, xColumn + 1).PasteSpecial xlValues
Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=False
Columns(xColumn).Delete
Range(xStrAddress).Sort key1:=Cells(1, xColumn), Header:=xlNo
End If
Next xColumn
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. После вставки вышеуказанного кода нажмите F5 для его запуска, и будет создан новый лист с названием Уникальные значения, где будут перечислены уникальные имена из столбца A со всех листов, как показано на скриншоте ниже:
Создание списка уникальных значений из нескольких листов с помощью Kutools AI Ассистента
В этом разделе мы покажем вам, как легко создать список уникальных значений из нескольких листов с помощью Kutools AI Ассистента.
Нажмите "Kutools" > "AI Ассистент", чтобы открыть панель "Kutools AI Ассистент", на панели выполните следующие действия:
- Введите запрос в поле чата, например:
Извлечь все уникальные значения из столбца A со всех листов этой книги и перечислить уникальные значения на новом листе. - Затем нажмите клавишу Enter или кнопку "Отправить". Kutools AI проанализирует вопрос, после завершения нажмите кнопку "Выполнить", и все уникальные значения из нескольких листов будут отображены на новом листе, см. демо:
Создание списка уникальных значений из нескольких листов с помощью формулы (Excel 365)
Если вы хотите создать список уникальных значений из нескольких листов в Excel с помощью формулы, это можно сделать, комбинируя динамические функции массива, такие как UNIQUE и VSTACK в Excel 365.
Пожалуйста, введите следующую формулу в пустую ячейку, затем нажмите клавишу Enter, чтобы извлечь уникальные значения в один столбец из нескольких листов. См. скриншот:
=UNIQUE(VSTACK(Sheet1!A1:A11, Sheet2!A1:A11, Sheet3!A1:A11, Sheet4!A1:A11))
- VSTACK: Объединяет несколько диапазонов (например, Sheet1!A1:A11, Sheet2!A1:A11, Sheet3!A1:A11, Sheet3!A1:A11) в один вертикальный массив.
- UNIQUE: Фильтрует дубликаты и возвращает только уникальные значения из объединенного списка.
- A1:A11: Настройте диапазон, чтобы он включал ваш фактический диапазон данных.
В этой статье мы рассмотрели три эффективных метода создания списка уникальных значений из нескольких листов в Excel. Каждый метод имеет свои преимущества, позволяя выбрать тот, который лучше всего подходит для вашей версии Excel, уровня навыков и конкретных потребностей. Если вас интересует изучение дополнительных советов и приемов Excel, наш веб-сайт предлагает тысячи учебных материалов.
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек