vba для сравнения двух столбцов и возврата данных из третьего столбца для сопоставленных ячеек столбцов - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть рабочая тетрадь с двумя листами: «Мастер-файл» и «Мудрец»

Мастер-файл

Column B: a a a v d g b d x a x a  
Column C: 3 6 3 6 3 6 5 6 2 8 6 2

Мудрец

Column D:  a a v d g b d x a x z
Column E:  5 2 0 1 9 4 5 6 2 3 2

Я хочусравните столбец D со столбцом C, найдите совпадения и вставьте значение из столбца E для сопоставленных данных в мастер-файл

мастер-файл

Column B: a a a v d g b d x a x a 
Column C: 3 6 3 6 3 6 5 6 2 8 6 2

Column F: 5 2 2 0 1 9 4 5 6   3  

1 Ответ

0 голосов
/ 28 февраля 2019

Вот возможность NON-VBA с некоторыми допущениями:

  • Вы хотите сравнить столбец D с B вместо C
  • Требуется найти nth совпадение значений в столбце B

Я использовал формулу:

{=IFERROR(INDEX($E$1:$E$11,SMALL(IF(B1=$D$1:$D$11,ROW($D$1:$D$11)),COUNTIF($B$1:B1,B1))),"")}

Примечание Это формула массива, поэтому не забудьте подтвердить с помощью Ctrl + Shift + Введите

Вывод выглядит следующим образом:

enter image description here

Вам необходимо настроить диапазоны и ссылки на листы в соответствии со своими потребностями.

Удачи.

PS Лучшей практикой может быть даже использование оператора =IF() для проверки перед выполнением условия TRUE (формула выше).Примерно так:

{=IF(COUNTIF($D$1:$D$11,B1)>=COUNTIF($B$1:B1,B1),INDEX($E$1:$E$11,SMALL(IF(B1=$D$1:$D$11,ROW($D$1:$D$11)),COUNTIF($B$1:B1,B1))),"")}

Это может оказать большое влияние на большой набор данных для расчета!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...