У меня есть два набора диапазонов данных. Один диапазон находится в Листе 1 (8000 строк, 6 столбцов), который является основным диапазоном, а другой диапазон - в Листе 2 (5000 строк, 6 столбцов). Как я могу отобразить другие 3000 строк на новом листе (лист 3), которые не указаны в Листе 2, но находятся в Листе 1?Поиск данных, которые нет
ответ
Я могу сделать это макросом, но прежде всего, дайте мне знать, будет ли это делать то, что вы ищете.
Вот примеры данных, которые я использовал, в трех листах.
Лист 1 называется "Master" состоит в следующем, начиная с A1:
Name Birthday Month Age
Batman January 35
Superman March 32
Catwoman April 37
Joker June 28
Harley Quinn September 33
Rorschach July 35
Dr. Manhattan August 41
Aquaman October 22
Ms. Jupiter October 23
Penguin July 39
И в Лист2:
Name Birthday Month Age
Batman January 35
Superman March 32
Catwoman April 37
Joker June 28
Harley Quinn September 33
Rorschach July 35
Итак, как вы можете видеть, мы должны доктора Манхэттена на вниз для добавления в (пустой) лист3.
Быстрый способ проверить, что НЕ находится в листе 2, заключается в том, чтобы добавить вспомогательную колонку к вашему основному листу и просто посчитать количество раз, когда каждая запись отображается в Листе2. На основной листе введите эту формулу в D2 и скопируйте ее, =Countifs(Sheet2!$A:$A,A2,Sheet2!$B:$B,B2,Sheet2!$C:$C,C2)
.
Это оставит вас с количеством раз, что запись показывает в листе 2. Где вы видите «0», это означает, что вам нужно добавить эти записи в свой Лист3:
и там ты иди.
Примечание: Поскольку у вас огромное количество строк, вы, вероятно, получите чередующиеся 1 и 0. Для того, чтобы быстро определить, которые не были включены в Лист2, просто сортировать все данные по колонке D («с заголовками»):
(Примечание: Я изначально выбран диапазон A1: D11, но так как я выбрал " имеет заголовки ", Excel оставляет видимый выбранный диапазон одной строкой. Нажмите« ОК », и все« 0 »отчеты находятся вверху, их можно добавить на ваш лист. 3.
Я могу сделать это макросом, но ., если бы вы любезно дайте мне знать, как это работает для вас первым Благодаря
Edit: Macro включена, пожалуйста, дайте мне знать, если вам нужны какие-либо ухищрений
!Sub Find_Reports()
Dim lastRow As Long, lastCol As Integer, missingLastRow As Integer
' Create variables for the master worksheet, the list wsht (which has SOME of the Master records), and missing WS which we will put the missing records
Dim masterWS As Worksheet, listWS As Worksheet, missingWS As Worksheet
Dim listWSName As String
Dim ws as Worksheet
Application.DisplayAlerts= false
For each ws in Sheets
If ws.name = "Missing" then ws.delete
Next ws
Application.DisplayAlerts= True
Set masterWS = Sheets("Master List") ' Change this to whatever your Master List sheet is called
Set listWS = Sheets("Sheet2") ' same with Master, change this to whatever the second sheet (that has SOME of the data) is called
listWSName = listWS.Name
Sheets.Add.Name = "Missing"
Set missingWS = Sheets("Missing")
missingWS.Rows(1).Value = masterWS.Rows(1).Value
missingLastRow = 2 'Start on row 2
lastRow = masterWS.Cells(1, 1).End(xlDown).Row 'I am assuming you have NO gaps in your column A, if you do, uncomment and use the next line instead
'lastRow = masterWS.UsedRange.Rows.Count
lastCol = masterWS.Cells(1, 1).End(xlToRight).Column
Dim countCol As Integer
countCol = lastCol + 1 'We will add the COUNT formula to this column
masterWS.Cells(1, countCol).Value = "Times included in " & listWSName
With masterWS
.Range(.Cells(2, countCol), .Cells(lastRow, countCol)).FormulaR1C1 = "=COUNTIFS(" & listWSName & "!C[-3],RC[-3]," & listWSName & "!C[-2],RC[-2]," & listWSName & "!C[-1],RC[-1])"
End With
'Now, we would add the rows with a "0" next to it in Master WS to the new "Missing" WS
Dim i As Integer
With masterWS
For i = 2 To lastRow
If .Cells(i, countCol).Value = 0 Then 'If there is no record, add to the missing WS
missingWS.Range(missingWS.Cells(missingLastRow, 1), missingWS.Cells(missingLastRow, lastCol)).Value = _
.Range(.Cells(i, 1), .Cells(i, lastCol)).Value
missingLastRow = missingLastRow + 1
End If
Next i
End With
End Sub
Это работает! Спасибо! – Megan
Я обновил код VBA. Пожалуйста, дайте мне знать, если что-то не работает или у вас есть какие-либо вопросы! (Если это работает, вы любезно отметите как ответ? Спасибо!) – BruceWayne
Он добавил новый лист просто отлично, но он дал мне ошибку «переполнения» RunTime error 6 и указывает на код: lastRow = masterWS.UsedRange. Ряды.Подсчитайте , и у меня нет пробелов в моей колонке A – Megan
- 1. Поиск данных, которые строят таблицу
- 2. Нет данных, которые Вы посылаете WorldPay
- 3. mysql поиск 'Нет' не нет.' или «нет»;
- 4. Поиск базы данных, а отфильтровывать сообщения, которые не имеют изображения
- 5. Поиск в столбце для данных, у которого нет формата адреса
- 6. Нет API - запустить поиск?
- 7. поиск элементов, которые удовлетворяют условие
- 8. Поиск режима массива: нет вывода
- 9. Поиск размера данных, на которые указывает указатель char
- 10. Поиск столбцов базы данных, которые не затрагиваются хранимыми процедурами CRUD
- 11. Поиск всех таблиц в базе данных, которые содержат поле
- 12. моделирования данных, которые будут использоваться в DocumentDB и Azure Поиск
- 13. Макс. нет. соединений, которые база данных SQLite может предоставить
- 14. HWIOAuthBundle Google - У меня нет всех данных, которые я хочу
- 15. пустой кадр данных возвращается, если нет строк, которые удовлетворяют условию
- 16. Поиск активов, которые не используются
- 17. поиск элементов, которые динамически меняются
- 18. Рельсы: поиск записей, которые перекрываются
- 19. Поиск классов, которые реализуют интерфейсы
- 20. MySQL как на специальных символах, которые нет
- 21. Нет изображений, которые будут отображаться
- 22. поиск доступа и да/нет правильных методов?
- 23. Поиск числа повезло или нет
- 24. Поиск пользователей онлайн или нет
- 25. Поиск, если нет в SOLR?
- 26. Поиск там, где нет .join
- 27. SSL-поиск файла, которого нет
- 28. поиск записей, которые не разделяют отношения
- 29. Поиск базы данных файлов
- 30. Поиск объединения RDD, которые могут не существовать
У меня есть несколько идей - можете ли вы разместить некоторые данные примера? Являются ли данные на обоих листах одинаковыми данными? То есть Ли Sheet1 имеет те же заголовки, что и Sheet2? – BruceWayne
Конечно, вот пример, который я бросил вместе. Да, все заголовки столбцов совпадают. Мастер перечисляет все данные. В части 1 перечислены только некоторые строки. Я хочу, чтобы часть 2 отображала недостающие строки, которые не входят в Часть 1, но находятся в Мастере. Скажем, столбцы: «Имя», «День рождения», «Возраст». Мастер перечислит 10 строк заполненных данных. В первой части будут перечислены только 4 из 10 строк, перечисленных в Мастере. Я хочу, чтобы Part 2 отображала недостающие 6 из 10 строк, которые НЕ входят в Часть 1. Я не знаю, как прикрепить этот файл сюда. – Megan