2009-08-13 5 views
2

У меня есть таблица Excel, которая имеет около 18 тыс. Строк и три столбца. Я хочу использовать это как ключ в базе данных Access. Таким образом, три колонкиУдалить строки из электронной таблицы Excel, содержащие дубликаты данных?

[IDKeyNumber] [Name] [Category] 

проблема в некоторых местах IDNumber дублируется, поскольку категория имеет два кода категории (TypeA & TypeB)

Все, что мне действительно нужно знать, как это сделать, это удалить каждый «строка/запись» в таблице Excel, где ID # ss & Имя совпадает (как в совпадении с другой записью, чтобы изолировать дублирование) И Category = TypeB.

Поэтому я просто хочу избавиться от всех повторяющихся строк/записей, которые имеют этот TYPEB в категории.

спасибо!

IA: некоторые строки или записи имеют действительную категорию TypeB, которая не дублирует, поэтому мне нужна запись = запись для категории идеи, кроме ... спасибо

ответ

4

Можно использовать ADO и SQL с Excel, например:

Dim cn As Object 
Dim rs As Object 

strFile = Workbooks(1).FullName 
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _ 
    & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";" 

Set cn = CreateObject("ADODB.Connection") 
Set rs = CreateObject("ADODB.Recordset") 

cn.Open strCon 

strSQL = "SELECT id, name, max(type) AS type FROM [Sheet1$] GROUP BY id, name" 

rs.Open strSQL, cn 

For i = 0 To rs.Fields.Count - 1 
    Sheets("Sheet2").Cells(1, i + 1) = rs.Fields(i).Name 
Next 

Sheets("Sheet2").Cells(2, 1).CopyFromRecordset rs 
3

Допустим, столбцы A, B и С.

  1. заголовки столбцов добавить (номер, имя, категория) над столбцами
  2. Сортировать по A & B. (если вам нужно сохранить порядок сортировки, смотри ниже)
  3. в D2, положить формулу «= И (А2 = А1, В2 = В1, С2 =„TypeB“)»
  4. заполнить вниз
  5. Используйте автофильтр, чтобы выбрать только строки, где D является ложным.
  6. копировать и вставлять при необходимости.

Для сохранения порядка сортировки вам понадобится другой столбец - допустим, E, потому что мы использовали D для формулы. Перед сортировкой поместите 1 в E2, 2 в E3 и заполните серию. Вы можете сделать это, перетащив указатель роста или поместив значения в D2 и D3, чтобы они были смежными с заполненными ячейками, затем дважды щелкните мышью. Для этого есть команда где-то в меню, но я не помню ее имени или месте.

1

Предложение @Carls или что-то подобное - это самый быстрый способ получить то, что вам нужно в excel.

Другим вариантом может быть просто настроить таблицу в Access и установить все первичные ключи. Затем просто импортируйте данные и игнорируйте любые ошибки, которые выходят из него.

Смежные вопросы