Страницы: 1
RSS
Поиск одинаковых значений в двух разных документах
 
Добрый день! У меня есть два экселевских файла, в них есть столбцы с номерами сч/ф. В первом файле огромный список со всеми счетами-фактурами, во втором только проведенные, соответственно их меньше. Создаем в первом файле для примера столбец B . Задача следующая. нужно с помощью формулы из второго файла найти такой же номер сч/ф в первом файле и поставить в столбце B "ОК", если номер будет найден.
 
eiks, Зада следующая тыц 2.3 особенно
Изменено: Wild.Godlike - 14.05.2019 12:10:46
 
Добрый и Вам. Судя по описанию, Вам помогут функции ЕСЛИ и СЧЁТЕСЛИ.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Я понимаю, какие нужны функции. Пока ни одна не сработала.  
 
Цитата
eiks написал:
Пока ни одна не сработала.
А если попробовать обе применить? Показывайте пример. Так быстрее получите помощь.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Во вложении 2 файла, лишние данные удалены. Необходимо проставить в файле 1 во втором столбце "ОК" для тех номеров сч/ф, которые есть в файле 2.
 
Пробуйте:
=ЕСЛИ(СЧЁТЕСЛИ([файл2.xlsx]Sheet1!$A$2:$A$20;A2);"ок";"")
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Как вариант через ВПР. Во втором файле создаете дополнительный столбец. В первый вставляете: =ВПР(A2;'C:\111\[файл2.xlsx]Sheet1'!$A:$B;2;ЛОЖЬ)
'C:\111\ - путь ко второму файлу
Изменено: Андрей_26 - 15.05.2019 08:41:22
 
Спасибо, мою первоначальную задачу это условие выполнило. Но  появились новые условия, которые мне необходимы, чтоб получить точный  результат.
Первое - можно ли добавить в эту формулу, чтоб  искался номер сч/ф по точному совпадению. То есть, если номер 827, он не  должен искать 000827 .
Второе - можно ли добавить в эту  формулу, чтоб было так же точное совпадение с датой сч/ф (я добавила  второй столбец), то есть номер 27 от 06/05/19, во втором файле так же  должен быть номер 27 от 06/05/19.
И только при совпадении всех условий ставить ОК.
 
С помощью макроса:
Код
Sub test()
    Application.ScreenUpdating = False
    Dim a() As Variant, b() As Variant
    Dim i As Long, ii As Long
            
    Workbooks("файл 2.xlsx").Sheets(1).Activate
    b = Range("A1:B" & Cells(Rows.Count, 1).End(xlUp).Row)
    Workbooks("файл1.xlsx").Sheets(1).Activate
    a = Range("A1:B" & Cells(Rows.Count, 1).End(xlUp).Row)
    
    For i = LBound(a) To UBound(a)
       For ii = LBound(b) To UBound(b)
           If a(i, 1) = b(ii, 1) And a(i, 2) = b(ii, 2) Then
              Cells(i, 3) = "ok"
           End If
       Next
    Next
    Application.ScreenUpdating = True
End Sub

Изменено: Андрей_26 - 15.05.2019 15:02:59
 
Цитата
Пробуйте:
=ЕСЛИ(СЧЁТЕСЛИ([файл2.xlsx]Sheet1!$A$2:$A$20;A2);"ок";"")

добрый день! возможно ли добавить мои условия в эту формулу или любую другую? с макросами никогда не работала
Страницы: 1
Наверх