Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
evil327
0 / 0 / 0
Регистрация: 16.03.2015
Сообщений: 5
1

Как сравнить 2 таблицы по нескольким столбцам

06.06.2015, 12:31. Просмотров 1233. Ответов 3
Метки нет (Все метки)

Доброго времени суток.
Есть 2 на листах "In_data" и "One_price" нужно :
1. сравнить их сначала по столбцу "А" обе таблицы,
2. если найдено совпадение, тогда проверить для этой строки столбец "D" в листе "One_price"
3. если в выбранной ячейки текст "м3", тогда берем данные из листа "In_data" текущей строки и столбца "D", и переносим их в лист "One_price" текущей строки и столбец "E"
4. если в выбранной ячейки текст "м2", тогда берем данные из листа "In_data" текущей строки и столбца "E" и переносим их в лист "One_price" текущей строки и столбец "E"

test_001.xlsx
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2015, 12:31
Ответы с готовыми решениями:

Сравнить данные по нескольким столбцам одновременно
Всем привет, помогите подогнать на сравнение не только по столбцу "А", а по...

Сортировка таблицы по нескольким столбцам
Добрый день! Появилась необходимость рассортировать рабочую таблицу: поскольку...

Сортировка строк таблицы по нескольким столбцам
Доброго времени суток. Имеется код сортировки по одному столбцу. ...

Сортировка по нескольким столбцам
Здравствуйте, есть хорошая функция для сортировки по нескольким столбцам: ...

Поиск дубликатов строк по нескольким столбцам
Добрый день уважаемые форумчане! Имеется excel файл с двумя листами X и Y. ...

3
Fairuza
Модератор
5206 / 2634 / 471
Регистрация: 23.11.2010
Сообщений: 8,690
06.06.2015, 16:25 2
Вариант в Е1 и протянуть вниз
Код
=ВЫБОР(ЕСЛИ(D1="м3";1;2);ИНДЕКС(In_data!$D$1:$D$8;ПОИСКПОЗ(A1;In_data!$A$1:$A$8;0));ИНДЕКС(In_data!$E$1:$E$8;ПОИСКПОЗ(A1;In_data!$A$1:$A$8;0)))
0
Alex77755
10738 / 3311 / 549
Регистрация: 13.02.2009
Сообщений: 9,746
06.06.2015, 16:35 3
Лучший ответ Сообщение было отмечено evil327 как решение

Решение

Вариант с макросом:
в модуль код
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Option Explicit
Sub QWERT()
Dim T, LR, D(), P(), R, OD: Set OD = CreateObject("Scripting.Dictionary")
With Лист1
    LR = .Cells(.Rows.Count, 1).End(xlUp).Row
    P = .Range("A1:E" & LR).Value
End With
For R = 1 To UBound(P)
    OD(P(R, 1) & "м2") = P(R, 5)
    OD(P(R, 1) & "м3") = P(R, 4)
Next R
With Лист2
    LR = .Cells(.Rows.Count, 1).End(xlUp).Row
    For R = 1 To LR
        T = .Cells(R, 1).Value & .Cells(R, 4).Value
        If OD.Exists(T) Then .Cells(R, 5) = OD(T)
    Next R
End With
End Sub
1
evil327
0 / 0 / 0
Регистрация: 16.03.2015
Сообщений: 5
07.06.2015, 10:04  [ТС] 4
Спасибо огромное за скрипт.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2015, 10:04

Как сравнить таблицы в которой есть пустые строки?
Доброго времени суток! Нужна помощ, пишу сразу, что не программист, но и...

Как сравнить 2 таблицы с ценами, обозначить изменения и внести поправки.
Просьба помочь в решении парочки несложных задач на ВБА (слабак я в ВБА), инфо...

Как сравнить две таблицы и совпадающие элементы перенести в другую таблицу
Помогите пожалуйста! ни как не могу сообразить! Необходимо написать макрос...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru