Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Сравнение двух таблиц
 
Цитата
Ts.Soft написал: Кстати, у Вас сразу выскакивают ошибки в должностях
Так как один, это выгрузка из 1С, а второй это пишет другой сотрудник.
Сравнение двух таблиц
 
Ts.Soft, Огромное СПАСИБО. Все работает как я и хотел. ЕЩЕ РАЗ СПАСИБО. Вы меня спасли от очень муторной и кропотливой работы которую я бы выполнял месяц.
Изменено: Davidov.p.v - 19.06.2016 21:24:27
Сравнение двух таблиц
 
Ts.Soft, я согласен но тут одноразовая проверка 2000 сотрудников. И проверять 2000 записей руками как то не очень есть хорошо, когда век компьютерных технологий..
Сравнение двух таблиц
 
Цитата
Ts.Soft написал: Проблема в организации данных - в двух таблицах нет единого ключевого поля
В таблице уникальное поле это ФИО, абсолютно точно нет совпадений.

Цитата
в реальность Вы столкнётесь когда в них будет даже разное количество строк.
Количество строк действительно разное.

Цитата
Фамилия в качестве ключевого поля не подходит
Фамилию можно взять как ключевое слово однофамильцев точно нет.

Цитата
Так же одну фамилию можно написать по разному, например Семёнов и Семенов
Вот это может быть я не представляю как это можно исправить. Если только сравнить столбцы фамилии сначала и вывести не совпадении одной либо двух букв как вариант.

Цитата
так же что делать если в первой таблице есть сотрудники, которых вообще нет во второй и наоборот.
Как вариант после сравнения каждой строки помечать ее цветом.

Jack Famous, спасибо это я уже видел я нашел похожий на то что мне надо не большой макрос но он не информативный в плане ошибок в строке.
Макрос привожу.
Код
Sub Макрос1()
'' Макрос1 сравнение двух таблиц с использованием макроса VBA
' ссылка на первый лист книги

Dim sheet1 As Worksheet
Set sheet1 = ActiveWorkbook.Sheets(1)
' ссылка на второй лист книги
Dim sheet2 As Worksheet
Set sheet2 = ActiveWorkbook.Sheets(2)
 
' строка для хранения идентификатора строки первой таблицы
Dim str1 As String
' строка для хранения идентификатора строки второй таблицы
Dim str2 As String
 
' позиция курсора (номер строки) в первой таблице
Dim i As Integer
i = 3
Dim last_i As Integer
last_i = 3
' позиция курсора (номер строки) во второй таблице
Dim j As Integer
j = 3
Dim last_j As Integer
last_j = 3
 
' определяем последнюю значимую строку первой таблицы (последняя строка, в первой колонке которой есть значение)
For Each Cell In sheet1.Range("A:A")
    If Cell.Row > 2 Then
        If Cell.Value > "" Then
            last_i = Cell.Row
        Else
            Exit For
        End If
    End If
Next Cell
 
' определяем последнюю значимую строку второй таблицы (последняя строка, в первой колонке которой есть значение)
For Each Cell In sheet2.Range("A:A")
    If Cell.Row > 2 Then
        If Cell.Value > "" Then
            last_j = Cell.Row
        Else
            Exit For
        End If
    End If
Next Cell
 
' пробегаем по строкам второй таблицы (внешний цикл)
For j = 3 To last_j
    ' определяем идентификатор текущей строки
    str2 = sheet2.Cells(j, 5).Value & "-" & sheet2.Cells(j, 2).Value & "-" & sheet2.Cells(j, 4).Value & "-" & sheet2.Cells(j, 6).Value
    ' пробегаем по строкам первой таблицы (внутренний цикл)
    For i = 3 To last_i
        ' определяем идентификатор текущей строки
        str1 = sheet1.Cells(i, 2).Value & "-" & sheet1.Cells(i, 4).Value & "-" & sheet1.Cells(i, 8).Value & "-" & sheet1.Cells(i, 9).Value
        ' сравниваем идентификаторы строк первой и второй таблицы
        If str2 = str1 Then
            ' если совпадение найдено, то записываем покупателя из второй таблицы в первую в строку с соответствующей ему квартирой
            sheet1.Cells(i, 10).Value = sheet2.Cells(j, 1).Value
            ' прекращаем внутренний цикл, переходим к следующей итерации внешнего цикла
            ' (к следующей записи второй таблицы)
            Exit For
        End If
    Next i
Next j 
End Sub
Изменено: Davidov.p.v - 18.06.2016 22:47:05
Сравнение двух таблиц
 
Добрый утро!

Помогите начинающему пользователю составить макрос либо скрипт для сравнения двух таблиц.

Задача такова. Есть две таблицы в них значения ФИО, Ставка, должность, ЗП одинаковые, но стоят в разных столбцах, их необходимо сравнить и в таблице номер один записать Название отдела в соответствующе строке. А если есть ошибка то помечать ячейку, которая отличается цветом.

Файл оригинал и что должно получиться прикрепляю.
 Любые идеи рассмотрю и приму с огромной благодарностью.

Заранее огромное спасибо за помощь!
Страницы: 1
Наверх