
INDEX MATCH는 매우 편안하지만 작동 여부가 확실하지 않은 곳에 사용하고 싶은 문제가 발생했습니다. 두 개의 시트가 있습니다. 첫 번째 작은 시트에는 다른 시트에 있는 이름의 작은 하위 집합이 있고 각 이름과 관련된 날짜 집합이 있습니다. 다른 큰 시트에는 각 이름과 관련된 다른 날짜 집합이 있습니다. 내가 할 수 있기를 원하는 것은 더 큰 시트의 날짜를 INDEX하고 이 날짜가 더 작은 시트의 날짜보다 크고 해당 날짜와 관련된 월말보다 작은 경우에만 이름을 일치시키는 것입니다. MATCH 값을 반환하는 대신 기준이 충족되면 1을 반환하고 싶습니다. INDEX MATCH를 사용하면 매우 쉽게 수행할 수 있는 작업입니까, 아니면 제가 찾아야 할 또 다른 기능 세트가 있습니까? 이 문제를 어떻게 해결하시겠습니까?
답변1
귀하의 질문은 다음 기준에 따라 INDEX/MATCH 수식을 작성하는 것과 관련이 있다고 생각합니다.
더 큰 시트의 날짜를 색인화하세요.
이 날짜가 작은 시트의 날짜보다 큰 경우에만 이름을 일치시킵니다.
- 해당 날짜와 관련된 월말보다 작습니다.
그런 다음 기준이 충족되면 1을 반환합니다.
IF 조건 내에 INDEX/MATCH를 중첩하여 이를 수행할 수 있습니다.
=IF(
INDEX([LargerSheet!*Range with Dates*],
MATCH(
IF([SmallerSheet!*First Date in Range*]<[LargerSheet!*First Date in Range],
[SmallerSheet!*Range with Dates]),
[SmallerSheet!*Range with Dates*],0)
)>0,1,"")
MATCH 함수는 일치 항목이 발견될 때마다 값을 반환하며 정의에 따라 해당 값은 0보다 큽니다. 따라서 우리는 이것이 발생할 때마다 1을 반환하려고 합니다.
도움이 되었기를 바랍니다!
답변2
이를 위해 파워 쿼리 추가 기능을 사용하겠습니다. 쿼리는 Excel 테이블에서 시작한 다음 단계별로 데이터 변환을 구축할 수 있습니다. 각 단계에서 결과를 검토할 수 있습니다.
귀하의 요구 사항에 따라 병합 명령을 사용하여 두 시트를 이름으로 결합하고 더 큰 시트에서 날짜 열을 확장합니다.
http://office.microsoft.com/en-au/excel-help/merge-queries-HA104149757.aspx
그러면 가능한 모든 일치가 발생합니다. 그런 다음 필터 명령을 사용하여 범위의 날짜만 확인합니다. 이를 위해 필터 기능을 편집해야 할 수도 있습니다. 월말을 파생하는 파워 쿼리 함수가 있습니다.
마지막으로 쿼리를 새 Excel 테이블에 전달합니다.