Сравните две таблицы Excel на основе уникального ключа, используя формулу - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть две таблицы с одинаковыми именами столбцов в Excel, которые получают данные из двух разных источников на основе определенных расчетов. Нам нужно сравнить данные между этими двумя таблицами на основе значения столбца ID, которое будет предоставлено пользователем в A2. Я приложил снимок таблицы образцов. Я попытался использовать sumproduct (как вы можете видеть в K2, но он не работает, если какое-либо из значений ячейки имеет #NA в качестве значения. Помните, что вычисления обновляют данные только для определенного идентификатора (одна строка только для в каждой таблице). в этом примере значения только для строк с идентификатором 200 будут обновлены для этих двух таблиц.

Если я изменю значение с #NA на целое число, формула (в K2) будет работать. Я даже думал об использовании if (And (logic1, logic2 ...)) для сравнения значений ячейки с ячейкой, но я не представляю, как бы я использовал его, когда размещение идентификаторов в столбцах C и G может варьироваться и не обязательно будет в одной строке.

Используемая формула:

=IF(G2:G5=A2,IF(SUMPRODUCT((G2:G5=A2)*(H2:I5))-SUMPRODUCT((C2:C5=A2)*(D2:E5))=0,"Match","No Match"),"")

enter image description here

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

Это может помочь вам начать.

=IF(AND(IF($A$2=G3,VLOOKUP(G3,C3:E6,2,0),"")=H3,IF($A$2=G3,VLOOKUP(G3,C3:E6,3,0),"")=I3),"Match","No Match")

enter image description here

0 голосов
/ 14 февраля 2020

Попробуйте следующую формулу массива:

=INDEX({"No Match","Match"},1,IFERROR(--(MATCH(COLUMNS($C$2:$E$2),MMULT(--(INDEX($C$2:$E$5,MATCH($A$2,$C$2:$C$5,0),0)=$G$2:$I$5),TRANSPOSE(COLUMN($C$2:$E$2)^0)),0)>0)+1,0))

Формула массива после редактирования подтверждается нажатием ctrl + shift + enter

enter image description here

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