Excel 함수에서 긴 중첩 IF 방지

Excel 함수에서 긴 중첩 IF 방지

두 가지 서로 다른 입력에 의존하는 수식이 있습니다. 첫 번째는 0과 5 사이의 정수 값이고 두 번째는 배열 값의 반올림된 합계입니다. 사용자가 이 두 가지 모두에 대한 값을 입력하게 한 다음 수식을 통해 원하는 출력을 결정하도록 하고 싶습니다. 문제는 지금 첫 번째 변수에 대해 6개의 조합이 있고 각 조합으로 인해 두 번째 변수가 사용되는 방식이 변경된다는 것입니다. 따라서 이 작업을 수행하려면 매우 많은 수의 IF 문이 필요합니다.

올바른 값을 결정하는 0부터 5까지 각각 하나씩 다른 곳에 테이블을 설정했습니다. 내 질문은 Excel에서 다음을 수행하도록 하는 방법이 있습니까?

  1. 셀에 0부터 5까지가 들어 있는지 확인하세요 A2.

  2. 해당 번호가 포함된 시트로 이동합니다.

  3. INDEX(...,MATCH())배열에 배치된 값의 수와 값이 무엇인지에 따라 해당 시트의 테이블에서 가져옵니다.

테이블을 모두 피하고 대신 직접 계산을 시도하는 것이 더 합리적일 수 있는지 궁금합니다. 그러나 대규모 중첩 세트가 발생하지 않는 방법을 찾을 수 없습니다 IF. 여기에 불분명한 내용이 있으면 알려주시면 최선을 다해 설명하겠습니다.

답변1

내가 올바르게 이해하고 있다면 사용자가 검색할 워크시트를 선택하는 다른 워크시트에 있는 테이블에 대해 색인/일치 작업을 수행하는 수식을 만들어야 합니다.

A2에 배치된 값을 기반으로 적절한 워크시트에 대한 경로를 동적으로 작성하려면 CHOOSE 및 INDIRECT를 사용하는 것이 좋습니다.

예를 들어 아래에서는 해당 워크시트의 A1:A3에 있는 셀에 대해 B2에서 찾은 값을 사용하여 Match를 실행합니다. 여기서 워크시트는 사용자가 A2에 입력한 값(1,2,3)을 기반으로 합니다.

=MATCH(A2,(INDIRECT(CHOOSE(B2,"Sheet1","Sheet2","Sheet3") & "!" & "A1:A3")),0)

여기에서는 CHOOSE를 사용하여 셀(A2)을 살펴보고 여기에 입력된 값을 기반으로 해당 인덱스(이 경우 통합 문서 이름)가 있는 개체를 출력합니다.

INDIRECT를 사용하면 즉시 셀 경로를 작성할 수 있으므로 SUM 함수에서 사용할 경로에 올바른 워크시트 이름이 포함됩니다.

물론 테이블의 이름이 지정된 범위이거나 크기가 다른 경우 위 예의 정적 "A1:A3"을 다른 셀의 사용자 입력을 기반으로 경로의 올바른 부분을 출력하는 다른 CHOOSE로 변경할 수 있습니다.

이것이 당신이 하려는 일과 완전히 다르다면 용서해 주세요. 목록의 3단계를 이해하지 못하겠습니다...

관련 정보