Excel: 조건부 서식 방정식에서 셀의 텍스트를 워크시트 이름으로 사용

Excel: 조건부 서식 방정식에서 셀의 텍스트를 워크시트 이름으로 사용

제목은 실제로 제가 하려는 작업을 완전히 표현하지만 약간 복잡하고 난해하므로 사용 사례를 통해 설명하겠습니다.

서로 매우 가까운 두 개의 시트(SheetA 및 SheetB)가 있는 Excel 통합 문서가 있고 차이점을 시각적으로 강조하고 싶은 경우 이를 수행하는 일반적인 방법은 다음과 같습니다.

  • SheetA에서 모든 셀을 강조 표시합니다.
  • 조건부 서식 입력, 새 규칙, 수식 사용
  • 수식 상자에 다음을 입력합니다.

    =a1<>시트B!a1

  • 원하는 서식을 적용하고 '확인'을 누르세요.

기본적으로 이는 SheetA의 모든 셀을 SheetB의 해당 셀과 비교하고, 같지 않으면 서식을 적용합니다. 시트 이름이 복잡한 경우(특히 공백이 포함되어 따옴표가 필요한 경우) 수식 입력 중에 탭 이름을 클릭하면 도움이 됩니다.

하지만 이제 가정해보자SheetA의 일부 셀에서SheetB라는 이름이 포함된 텍스트 표현식을 입력했으며 위의 조건부 서식 수식에서 해당 셀을 참조하고 싶습니다.

(왜? 100개의 스프레드시트가 있을 수 있으며 매번 조건부 서식을 수동으로 변경하는 대신 셀의 텍스트를 변경하여 1과 2, 1과 3, 1과 55를 비교하고 싶습니다.)

어떻게 해야 합니까?

INDIRECT 함수가 텍스트를 시트 이름으로 변환하는 데 사용된다는 것을 알고 있으며 INDIRECT 함수를 조건부 형식 수식의 일부로 사용하여 해당 테마에 대한 여러 변형을 시도했지만 실제로 작동하는 것 같지 않습니다.

답변1

다음과 같은 조건부 형식 수식을 사용합니다.

= A1 <> INDIRECT(ADDRESS(ROW(A1), COLUMN(A1),,, aSheet), TRUE)

aSheet비교할 시트 이름을 저장한 셀에 대한 참조로 바꿉니다 .

그만큼ADDRESS()ROW()함수는 및 COLUMN()함수를 사용하여 평가 중인 셀의 행과 열을 계산하여 셀 참조를 텍스트 문자열로 조합합니다 .

함수를 건너뛰고 ADDRESS()문자열 연결을 사용하여 R1C1 형식으로 셀 참조를 작성할 수도 있지만 위의 수식은 아마도 읽고 이해하기 더 쉬울 것입니다. 이에 상응하는 내용은 다음과 같습니다.

= A1 <> INDIRECT(aSheet & "!R" & ROW(A1) & "C" & COLUMN(A1), FALSE)

관련 정보