IF(OR(AND( 포함)를 사용하여 여러 시트를 참조해야 합니다.

IF(OR(AND( 포함)를 사용하여 여러 시트를 참조해야 합니다.

"배송", "장비", "인벤토리"라는 3개 시트를 참조해야 합니다. 여기서 배송의 A열과 장비의 A열은 모두 위치 번호를 참조하고 장비 유형은 텍스트로 지정되어 피벗 테이블에서 계산됩니다. "인벤토리"에서. 각 위치 번호에는 여러 유형의 장비가 연결되어 있으며 일부 위치 번호는 아직 연결되지 않았습니다.

일반 영어로 "배송의 위치 번호가 장비의 위치 번호와 일치하고 장비 유형이 재고 A9와 일치하거나 장비 유형이 재고 A8과 일치하는 경우 K열에 추적 번호를 반환하고 그렇지 않으면 빈 값을 반환합니다"라고 말하려고 합니다.

내 공식은

=IF(AND(Equipment!A:A=Shipping!A2,OR(Equipment!C:C=Inentory!A8,Equipment!C:C=Inentory!A9)),Equipment!K:K,""). 

반환할 올바른 값이 있고 논리적으로 이것이 작동해야 한다는 것을 알고 있지만 어쨌든 잘못된 값이 반환되므로 내가 놓친 복잡함이 있다는 것을 알고 있습니다. 도움이 필요하세요?

답변1

여기에는 몇 가지 문제가 있습니다.

일반적으로 Excel 수식은 배열을 입력으로 처리하지 않으므로(Enter 키를 누른 경우) 수식은 범위의 첫 번째 셀만 비교합니다.

다음을 사용하여 배열 수식을 입력하는 경우Ctrl+Shift+Enter전체 범위와 비교되지만또는그리고그리고함수는 이를 전체 범위에 대한 단일 참/거짓으로 단순화합니다(각 행에 대해 개별적으로 적용하는 것이 아님).

따라서 배열 수식을 사용하면 다음과 같은 것을 사용할 수 있습니다. 그러나 전체 열 배열을 사용하는 경우 배열 수식은 매우 느려질 수 있습니다. 각 배열에는 ~1M 셀이 포함되어 있으므로 실제로 범위를 정의하는 것이 훨씬 더 좋습니다.

=index(Equipment!K:K,
    match(Shipping!A2,
        if(((Equipment!C:C=Inentory!A8)+(Equipment!C:C=Inentory!A9))>0,Equipment!A:A,0)
    ,0)
)

관련 정보