VLOOKUP과 비슷하지만 더 많은 기능이 있습니다.

VLOOKUP과 비슷하지만 더 많은 기능이 있습니다.

그래서 환자 목록이 있어요. 그런 다음 받아야 하는 임상 방문에 해당하는 판매 주문 목록이 있습니다. 본 사람은 누구이고, 안 본 사람은 누구인지 알고 싶습니다.

따라서 시트 1에는 환자 목록과 ID 번호(환자 ID는 고유함)가 있습니다. 환자 ID, 환자 이름

그런 다음 시트 2에는 판매 주문 목록이 있습니다(판매 주문 ID는 고유하고 환자 ID는 고유하지 않음): 환자 ID, 판매 주문 ID, 판매 주문 날짜

내가 원하는 것은 Excel에서 시트 2의 판매 주문을 살펴보고 환자 ID가 일치하는 위치를 찾은 다음 날짜를 순서대로 가져오는 것입니다.

따라서 시트 1은 환자 ID, 환자 이름, 판매 주문 날짜 1, 판매 주문 날짜 2, null(더 이상 일치하는 항목이 없는 경우)과 같습니다.

VLOOKUP 및 INDEX/MATCH에서 찾을 수 있는 모든 항목을 읽었으며 두 번째 시트에 일치하는 항목이 여러 개 있는 경우 작동하는 기능을 찾을 수 없는 것 같습니다. 환자 ID는 시트의 모든 판매 주문에 대해 계속해서 동일합니다. 2).

도와주세요.

답변1

다음은 도우미 열이나 테이블 정렬이 필요하지 않은 솔루션입니다. 비교적 간단한 배열 수식 하나만 사용합니다.


두 번째 시트 이름을 사용하여 다음과 같이 두 워크시트를 설정합니다 Sheet2.

워크시트 1 스크린샷

워크시트 2 스크린샷

배열 첫 번째 시트의 셀에 다음 수식을 입력( Ctrl+ Shift+ ) 하고 복사하여 붙여넣기/채우기 :EnterC3C3:G7

{=IFERROR(SMALL(IFERROR(1/(1/((Sheet2!$A$2:$A$20=$A3)*(Sheet2!$C$2:$C$20))),""),C$2),"")}


시트 1에 있는 환자 테이블의 마지막 날짜 셀이 채워지면5월표시되지 않는 날짜가 더 많아야 합니다. 예제 워크시트에서는 이러한 경우에 경고하기 위해 표 오른쪽 열에 수식을 추가했습니다.

H3에 입력 하고 복사하여 붙여넣거나 채운 배열 인 공식은 H3:H7다음과 같습니다.

{=IF(ISERROR(SMALL(IFERROR(1/(1/((Sheet2!$A$2:$A$20=$A3)*(Sheet2!$C$2:$C$20))),""),G$2+1)),"","more")}

답변2

이는 고객당 주문 수를 계산하여 해결할 수 있습니다. 이 문제를 해결하기 위해 사용할 수 있는 방법에는 여러 가지 변형이 있지만 여기에는 그 중 하나가 있습니다.

1 단계:

최신 주문부터 순서대로 정렬하세요.

2 단계:

고객 수를 계산하는 수식을 사용하여 판매 주문 끝에 열을 추가합니다. 새 열의 두 번째 행에 수식을 작성합니다 =Countif(B$2:B2,B2).

수식을 아래로 복사하세요.

B고객 번호가 있는 열입니다.

3단계:

고객 번호와 주문 수를 식별하기 위해 고유 키가 있는 열을 추가합니다. 두 번째 새 열에서 두 번째 행은 수식을 작성합니다.=B2&" "&X2

B는 고객 번호이고 X2단계에서 수행한 주문 횟수입니다.

4단계:

환자 테이블에서 최신 주문, 두 번째 최신 주문 등에 대한 ID와 색인 일치하는 열을 추가하여 날짜를 반환합니다. IFERROR()일치하는 항목이 없으면 공백을 반환하려면 an을 사용 하고 수식을 쉽게 복사할 수 있도록 절대 참조를 사용합니다.

(노르웨이 엑셀의 수식을 번역하려고 했습니다)

=IFERROR(INDEX('Order list'!$C:$C,MATCH('Patient list'!$A2&" "&'Patient list'!B$1,'Order list'!$Y:$Y,0)),"")

C날짜가 있는 열이고 Y3단계의 키가 있는 곳입니다.

이것이 귀하의 테이블에 맞는 맞춤형 솔루션을 찾는 올바른 길로 안내되기를 바랍니다. 주문표 등의 수식을 자동화할 수도 있습니다.

명령:

주문 테이블 스크린샷

환자:

환자 테이블 스크린샷

관련 정보