데이터 열이 3 개 있다고 가정 해 보겠습니다.
AMOUNT(A) AMOUNT(B) INVOICE(C)
55 49 4541
47 47 1515
42 47 4478
86 12 9993
12 100 1224
5 44 1452
100 4287
99 4444
A 열의 값이 B 열의 값과 일치하는지 확인해야하는 사항입니다. 일치하는 항목이 있으면 D 열의 C 열 값을 반환합니다. 이제 VLOOKUP으로 쉽게 처리 할 수 있습니다. 700 개 이상의 라인과 일치하는 금액이 여러 개 있습니다. INDEX (MATCH)는 작동 할 수 있지만 하나의 값만 반환합니다. 이것이 VB만의 문제입니까?
IE Value 47은 B 열에 두 번 존재하므로 D 열은 두 송장 번호 (1515-4478)를 반환합니다.
VBA에서는 문제 설명 자체로 논리를 이미 올바르게 설명 했으므로 문제는 사소합니다.
VBA없이 Excel 기능 만 사용하는 것은 흥미로운 문제입니다. 다음과 같은 출력을 얻으려면 다음 단계를 수행해야합니다.
단계는 다음과 같습니다.
(B)
하고 (C)
같은 행 필드와 (B)
와 (C)
와의 최소 AMOUNT(B)
값 필드로. (아래 그림 참조)(Q)
모든 항목과 동일합니다.(P)
Contd ... : In column (R)
(불행히도 시트의 Q 열에 있습니다. 혼동을 드려 죄송합니다), Q20
예를 들어 수식에 넣는 셀의 경우
=IF(P21=P20,Q21&","&M20,M20)
그러면 아래 표와 같은 것이 생성됩니다.
표:
(P) (Q)
12 9993
44 1452
47 4478,1515
47 4478
49 4541
99 4444
100 4287,1224
100 4287
이제 힘든 일이 끝났습니다. VLOOKUP
이 도우미 테이블에서 키-값 쌍을 사용하여 조회하기 만하면 (P)(Q)
됩니다. 피벗 테이블이 항상 정렬 상태를 유지하므로 정확 LOOKUP
하지 않아도 되므로 매우 빠릅니다 . -아래는 피벗 테이블과 최종 VLOOKUP
공식에 대한 스크린 샷입니다.
피벗 테이블 및 도우미 테이블 :
최종 공식 :
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다