내 상황: 온라인 상점용 제품 제조업체로부터 거대한 엑셀 시트를 받았습니다. 이 형식은 다음과 같습니다.
product ID | price | name | ...
매주 제조업체는 새로운 제품이 포함된 업데이트된 목록을 나에게 보냅니다. 따라서 해당 목록에 어떤 제품이 새로운지 알아야 합니다. 따라서 나에게 필요한 것은 다음을 수행하는 코드 조각입니다.
- 시트1에 이전 제품 목록을 삽입하겠습니다(수동으로).
- sheet2에 새 제품 목록을 수동으로 삽입하겠습니다.
- Sheet1과 Sheet2의 제품 ID 비교
- 이전 목록(Sheet1)에 없는 새 목록(Sheet2)의 제품(행)을 Sheet3에 삽입합니다.
따라서 Sheet3의 결과는 모두 새로운 제품이 됩니다. 당신이 나를 올바른 방향으로 밀어줄 수 있기를 바랍니다.
문안 인사
답변1
내 생각에는 다음과 같은 것이 필요할 수도 있습니다.
=VLOOKUP(Sheet1!A1:A100,Sheet2!A1:F100,6,FALSE)
물론 버튼과 모든 종류의 멋진 기능이 포함된 VBA를 사용하여 이 문제를 해결할 수도 있습니다.
답변2
실제로 Microsoft의 PowerQuery 추가 기능을 사용하여 완전히 다른 방식으로 수행할 수 있지만 Excel 2010에서 얼마나 잘 작동하는지 모르겠습니다(Excel 2007에서는 작동하지 않음). 이를 통해 제품 ID에 대한 그룹화 쿼리를 추가하여 고유한 목록을 얻을 수 있습니다.
다른 방법은 시트를 다른 파일에 유지하고 Excel 쿼리 도구를 사용하여 두 테이블에 대한 조인 쿼리를 새 테이블로 수행하는 것입니다.
어느 쪽이든 새 테이블이 있으면 다음 병합을 위해 저장해 둡니다.
답변3
(업데이트된 항목) 에 Sheet2
제품이 새 제품인지 확인하는 열 D를 추가합니다.
=MATCH(A2,Sheet1!$A:$A,0)>0
TRUE
D 열의 값에 고유 식별자를 제공하는 E 열을 추가합니다.
=D5&COUNTIF(D$2:D2)
Sheet3
이제 (새 항목) 으로 이동 하여 필요하다고 생각하는 만큼 값, 등을 포함하는 E 열에 인덱스 열을 넣습니다(예: 어느 날 20개의 새 항목이 있고 TRUE1
사용자 TRUE2
만 TRUE3
까지 올라가면 TRUE15
5개 항목이 누락됩니다.)
그런 다음 다음을 사용하여 새 항목을 가져올 수 있습니다.
=INDEX(Sheet2!A:A,MATCH($E2,Sheet2!$E:$E,0))