MS Excel 2010의 수식을 MS Excel 2003으로 변환하시겠습니까?

MS Excel 2010의 수식을 MS Excel 2003으로 변환하시겠습니까?

Excel 2010에서 내가 사용하는 공식은 다음과 같습니다.

=_xlfn.IFERROR(INDEX(K$76:K$2044,MATCH(Q23,P$76:P$2044,0),1),INDEX(K$76:K$2044,MATCH(Q23,L$76:L$2044,0),1))

하지만 Excel 2003으로 변환해야 합니다. 알아낸 내용은 다음과 같습니다.

_xlfn.IFERROR

된다

_IF(ISERROR)

따라서 Excel 2003에서 수식은 다음과 같습니다.

=IF(ISERROR(INDEX(K$76:K$2044,MATCH(Q23,P$76:P$2044,0),1),INDEX(K$76:K$2044,MATCH(Q23,L$76:L$2044,0),1)))

그러나 2003년에는 처리하기에는 너무 많은 인수가 있습니다. 공식을 단축하거나 단순화하는 데 도움을 줄 수 있는 사람이 있습니까?

답변1

논리를 올바르게 이해했다면 P76:2044에서 Q23을 찾으십시오. Q23이 있으면 해당 위치를 기반으로 K에서 인덱스를 수행하고, 그렇지 않으면 L76:2044와의 일치를 기반으로 K에서 인덱스를 수행합니다. 일치하는 항목이 있습니다).

그것이 맞다면 다음과 같이 오류 트랩을 INDEX가 아닌 MATCH 함수로 이동할 것입니다.

=INDEX(K$76:K$2044, IF(ISERROR(MATCH(Q23,P$76:P$2044,0)), MATCH(Q23,L$76:L$2044,0), MATCH(Q23,P$76:P$2044, 0)) ,1)

(좀 더 명확하게 하기 위해 약간의 공백을 추가했습니다.) 이렇게 하면 디버깅이 더 쉬워지고 2와 2가 아닌 2개의 일치와 1개의 인덱스만 수행하므로 계산이 더 효율적일 것입니다(인덱스는 매우 효율적이지만).

인덱스 배열은 단일 열이므로 마지막 ",1"을 삭제할 수 있습니다. 하지만 개인적으로 저는 이것이 확실히 첫 번째 열에서 값을 끌어온다는 명확성을 좋아합니다.

덧붙여서, Q23이 L이나 P에서 발견되지 않으면 여전히 중단됩니다. 아마도 데이터 세트에서는 이런 일이 발생할 수 없지만 조심하세요.

답변2

ISERROR 함수를 닫는 대괄호가 누락되었으며 오류가 없을 경우 원하는 내용을 지정하지 않았습니다. 아마도 첫 번째 인덱스 조회를 반복할 것입니다:-

=IF(ISERROR(INDEX(K$76:K$2044,MATCH(Q23,P$76:P$2044,0),1)),INDEX(K$76:K$2044,MATCH(Q23,L$76:L$2044,0) ,1)),INDEX(K$76:K$2044,MATCH(Q23,P$76:P$2044,0),1))

관련 정보