요소당 여러 행이 있는 2개의 목록을 비교하는 방법은 무엇입니까?

요소당 여러 행이 있는 2개의 목록을 비교하는 방법은 무엇입니까?

저는 한 사람당 여러 행이 있는 두 개의 "사람" 목록을 동일한 행을 포함할 수도 있고 포함하지 않을 수도 있는 다른 목록과 비교하는 방법을 찾으려고 노력하고 있습니다.

각 사람은 자신만의 고유한 ID를 가지고 있습니다. 두 목록 중 각 사람에 대해 1~4개의 행이 있을 수 있습니다. 반드시 동일한 수의 행을 포함할 필요는 없거나 동일한 순서가 아닐 수도 있습니다. 그 외에는 사람마다 각 행의 거의 모든 셀이 중복되고 동일하게 됩니다(주로 변하지 않는 개인 정보). 가능한 행("항목")은 항상 동일합니다: 재킷, 모자, 신발 및 액세서리. 각 행의 마지막 두 셀은 비교해야 할 실제 값입니다.

영어는 제 2외국어인데 그걸 말로 표현하는 게 너무 힘들어요.그래서 Google 스프레드시트에 예제를 만들었습니다.

또한 연결한 예제에서와 같이 특정 열과 형식을 가진 이 두 테이블을 모두 가져오며 이를 변경하거나 재정렬할 수 없습니다. 내가 할 수 있는 일은 "끝났어?"라는 말을 추가하는 것 뿐이다. 열.

고유 ID(열 B)를 찾은 다음 어떻게든 항목(열 E)을 찾고 해당 특정에 대한 금액 값을 반환할 수 있는 좀 더 정교한 버전의 VLOOKUP이 필요한 것 같습니다. 항목 (열 F). 그런 다음 IF A=B 다음 "OK!" 등의 문제일 뿐입니다. 하지만 일종의 이중 VLOOKUP처럼 작동하는 기능을 모르겠습니다.

SU의 좋은 사람들이 스크립팅이 필요하지 않은 방식으로 N에서 "비교" 열을 생성하는 방법을 생각해내는 올바른 방향을 알려줄 수 있습니까? 그렇지 않으면 각 사람의 각 요소와 다른 목록에 있는 동일한 사람의 동일한 요소를 어떻게 비교할 수 있습니까?

예시 표 1

이름 공급업체 ID # 섹스 나이 예상되는 항목 예상 금액
왓츠, 톰 6505581 21 자켓 44
왓츠, 톰 6505581 21 모자 20
왓츠, 톰 6505581 21 신발 55
왓츠, 톰 6505581 21 부속품 18
스미스, 제인 702452 에프 32 모자 56
스미스, 제인 702452 에프 32 신발 20
스미스, 제인 702452 에프 32 부속품 26
DOE, 존 1235554 54 자켓 80
DOE, 존 1235554 54 부속품 20

예시 표 2

이름 공급업체 ID # 섹스 나이 판매된 품목 판매 금액 끝났나요?
왓츠, 톰 6505581 21 자켓 44 좋아요!
왓츠, 톰 6505581 21 신발 65 +10
왓츠, 톰 6505581 21 모자 20 좋아요!
왓츠, 톰 6505581 21 부속품 18 좋아요!
스미스, 제인 702452 에프 32 부속품 26 좋아요!
스미스, 제인 702452 에프 32 신발 10 -10
스미스, 제인 702452 에프 32 모자 56 좋아요!
DOE, 존 1235554 54 자켓 95 +15
DOE, 존 1235554 54 부속품 22 2

답변1

테이블이 없는 솔루션LET

이제 예상 금액을 먼저 얻기 위해 도우미 열을 사용했습니다(최종 공식을 더 단순하게 유지하기 위해).
=FILTER($F$2:$F$10,($B$2:$B$10=I2)*($E$2:$E$10=L2))

기본 공식보다 판매 금액과 예상 금액을 비교합니다.
=IF(M2=N2,"OK!",M2-N2)

여기에 이미지 설명을 입력하세요

답변2

필요한 함수는 입니다 FILTER(). 게다가 LET()함수를 사용하여 수식을 더 간단하게 만들고 테이블(삽입 - 테이블)을 추가하여 구조화된 참조를 사용할 수 있습니다.

=LET(expected, FILTER(Table1[AMOUNT EXPECTED],(Table1[VENDOR ID '#]=[@[VENDOR ID '#]])*(Table1[ITEMS EXPECTED]=[@[ITEMS SOLD]])),IF(expected=[@[AMOUNT SOLD]],"OK!",[@[AMOUNT SOLD]]-expected))

여기에 이미지 설명을 입력하세요

관련 정보