D 열과 K 열 사이의 일치 항목을 식별하려고 하며, 그 일치 항목 중 A & H 열에 일치 항목이 있는 AND THEN을 식별하려고 합니다. 기본적으로 열 D(ABC) & A(123)가 연결되고 K(ABC) 열이 연결됩니다. 및 H(123)이 연결된다. 따라서 D(ABC)와 K(ABC) 사이의 일치 항목 중 A(123)와 H(123) 사이에도 일치 항목이 있습니다. D & K 열에 일치하는 값이 많이 있다는 것을 알고 있지만 해당 일치 항목 중에서 해당 열 A & H에도 일치 항목이 있는 것만 관심이 있습니다.
그래서 나는 다음과 같은 경기 결과 목록을 원합니다(최종 결과): 1. D & K, THEN 2. A & H
따라서 #1에는 3,546개의 일치 항목이 있을 수 있지만 그 중 #1과 #2를 모두 공유하는 일치 항목은 450개뿐입니다. IF/THEN 시나리오와 같습니다. Excel에서는 vlookup 옵션이 있다고 생각하지만 제대로 작동하지 않습니다. 또한 Access 쿼리가 시트 1과 시트 2를 비교하고 시트 1 열 A와 시트 2 열 A 및 시트 1 열 B와 시트 2 열 B 간의 일치 항목을 표시하는 시트 3을 가져올 수 있다고 생각합니다.
답변1
귀하의 질문을 올바르게 이해했다면 A 열에서 시작하여 최소한 K 열까지 계속되는 값 테이블이 있습니다. 다음 순서로 두 행 세트가 포함된 테이블을 반환한다고 가정합니다.
- D열과 K열의 값이 모두 일치하고 A열과 H열의 값이 모두 일치하는 경우입니다.
- A열과 H열의 값만 일치하는 경우입니다.
예를 들어 데이터가 A2:K1001 범위에 있다고 가정하면 다음은 원하는 것을 얻는 한 가지 방법입니다. 하나의 도우미 열을 사용합니다.
M2 셀에 다음 수식을 입력하고 M1001 셀을 통해 복사합니다.
=IF(A2<>H2,2,IF(D2=K2,0,1))*ROWS($A$2:$A$1001)+ROWS($A$2:A2)
수식은 각 행에 숫자를 할당합니다. D & K 열과 A & H 열이 모두 일치하는 경우 숫자는 1에서 1000 사이입니다. A & H 열만 일치하는 경우 숫자는 1001에서 2000 사이입니다. 그렇지 않으면 숫자는 2001에서 3000 사이입니다.
그런 다음 M1 셀에 다음 수식을 입력합니다. 반환할 행 수를 계산합니다(즉, D & K 열과 A & H 열의 값이 적절하게 일치함).
=COUNTIF($M$2:$M$1001,"<"&ROWS($M$2:$M$1001)*2+1)
다음으로 N2 셀에 복사하면 관심 있는 데이터 행을 반환하는 수식을 입력합니다.
=INDEX(A$2:A$1001,MATCH(SMALL($M$2:$M$1001,ROWS($M$2:M2)),$M$2:$M$1001,0))
SMALL 함수는 수식 중앙에서 바깥쪽으로 작업하여 방금 할당된 숫자 중 n번째로 작은 숫자, 즉 가장 작은 숫자, 그 다음 두 번째로 작은 숫자 등을 계산합니다. MATCH 함수는 M열 아래에서 해당 숫자의 행 수를 계산합니다. -데이터 테이블에서 해당 행을 찾습니다. 마지막으로 INDEX 함수는 A열 아래로 많은 행만큼의 데이터 값을 반환합니다.
마지막으로 수식을 Y2 셀에 복사하여 데이터의 첫 번째 전체 행을 가져오고 해당 수식을 M1 셀에 표시된 행 수만큼 복사합니다.