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

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

06.06.2015, 12:31. Просмотров 1727. Ответов 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)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2015, 12:31
Ответы с готовыми решениями:

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

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

Сортировка строк таблицы по нескольким столбцам
Доброго времени суток. Имеется код сортировки по одному столбцу. Sheets("Общие списки").Copy...

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

Упорядочивание по нескольким столбцам не срабатывает
Коллеги, доброго времени суток. С помощью записи макросов создал макрос, который в первую...

3
Fairuza
5223 / 2650 / 474
Регистрация: 23.11.2010
Сообщений: 8,699
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
10981 / 3439 / 591
Регистрация: 13.02.2009
Сообщений: 10,218
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
07.06.2015, 10:04
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2015, 10:04

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

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

Фильтрация по нескольким столбцам таблицы
Подскажите пожалуйста как реализовать фильтрацию таблицы по нескольким (более 2) столбцам таблицы....


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

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

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