조건부 서식 수식 및 범위가 자동으로 변경되지 않도록하려면 어떻게합니까?


24

스프레드 시트에서 데이터를 복사, 삭제 또는 이동할 때 조건부 서식 수식 및 범위가 자동으로 조정됩니다. 이것은 좋은 생각이지만, 다소 이상한 방식으로 나를 위해 일을 나누는 경향이 있습니다.

이를 피하기 위해 전체 스프레드 시트에 적용하고 열 머리글을 사용하여 확인하려는 데이터를 강조 표시하는 규칙을 작성하려고했습니다 .

예 :에 =AND(A$1="Check This Column For Blanks),ISBLANK(A1))적용=$1:$1048576

그러나 규칙 이 전체 시트에 명시 적으로 적용된 경우에도 시트에서 작업 할 때 여전히 자동으로 조정되어 이상한 방식으로 중단되었습니다.

어떻게 피할 수 있습니까?


아마도 전체 스프레드 시트를 사용할 수 없을 수도 있습니다. 현재하고있는 일에 대한보다 구체적인 예를들 수 있습니까?
Doktoro Reichard

스크린 샷을 가지고 어떤 영역이 고장 났는지 나타낼 수 있습니까?
Jerry

@JohnBensin 정확히 내가 찾던 것 같습니다. 다음에 한 번 기억해 보도록하겠습니다.
Iszi

@ Iszi 나는 그것을 답변으로 추가했습니다. 명명 된 범위를 추가하는 방법을 알고 있지만 향후 방문자를위한 답변에 세부 사항을 포함시킵니다 (Excel 사용을 처음 배웠을 때 나는 결코 기억할 수 없었기 때문에).
존 벤신

정확히 무엇이 잘못되었는지에 대한 기사 : Excel 2010 조건부 서식 악몽 . 그들은 좀 더 나아지려고 노력하면서 확실히 더
나빴습니다

답변:


7

셀 이동, 삽입 및 삭제를 포함하여 어떤 상황에서도 변경해서는 안되는 범위가 필요할 때 명명 된 범위와 INDIRECT함수를 사용했습니다.

예를 들어, 범위가 항상 셀에 적용되도록 A1:A50하려면 이름 관리자를 통해 명명 된 범위를 정의했습니다.

명명 된 범위 추가

이름 관리자에서 새 범위를 추가하고 (신규 클릭) 참조 대상 : 필드에서 INDIRECT 함수를 사용하여 원하는 셀 범위를 지정하십시오 (예 : =INDIRECT("A1:A50")또는) =INDIRECT("Sheet!A1:A50"). 범위는 기술적으로 텍스트 인수 일 뿐이므로 셀을 다시 정렬하면 Excel에서이를 업데이트하지 않습니다.

또한 이것은 적어도 Excel 2010 및 Excel 2013에서 작동합니다. 내 스크린 샷은 2013 년이지만 과거에는 2010 년 에이 정확한 기술을 사용했습니다.

경고

  1. 이 불일치로 인해 문제가 발생할 수도 있습니다. 예를 들어 시트 이름을 변경하면 명명 된 범위가 중단됩니다.

  2. 상당한 수의 셀에서이 전략을 사용할 때 성능이 약간 저하 된 것을 발견했습니다. 직장에서 사용하는 모델은 수천 가지 다른 셀 범위에 걸쳐 명명 된 범위와 함께이 기술을 사용하며 해당 범위의 셀을 업데이트하면 Excel이 약간 느립니다. 이것은 내 상상 일 수도 있고 Excel이 간접 함수에 추가 함수 호출을하고 있다는 사실 일 수 있습니다.


명명 된 범위는 대상 셀을 참조하는 편리한 단축 방법을 제공하지만 INDIRECT함수를 자체적으로 사용할 수는 없습니까?
Iszi

@ Iszi 예, 그렇습니다. 그러나 말한 것처럼 명명 된 범위는 편리하며 통합 문서의 여러 위치에서 동일한 셀 범위를 참조하는 경우가 많습니다. 성능상의 이유로 범위를 가능한 한 작게 유지하려고 시도하고 필요할 때만 범위를 변경하므로 명명 된 범위를 사용하면 한 곳에서만 범위를 변경하면됩니다.
존 벤신

@Iszi이 방법을 전혀 사용하지 않았습니까? 내가 언급하지 않은 함정이나 단점을 발견하면 알려주거나 답을 편집하십시오. 나는이 전략을 당신을 괴롭히기 위해 돌아 오는 것을 원치 않는 충분한 장소에서 사용합니다.
존 벤신

아직 구현하지는 않았지만 다음 번 에이 문제를 해결할 때 그렇게 할 것입니다. 문제가 있으면 알려 드리겠습니다.
Iszi

9
조건부 서식 규칙 관리자의 "적용 대상"열에서 명명 된 범위를 사용하려고했지만 "확인"또는 "적용"을 누르면 명명 된 범위가 확장됩니다. 내가 잘못하고 있습니까?
Mihai Alexandru Bîrsan

2

규칙을 위반하기가 매우 쉽다는 것을 발견했지만 규칙을 위반하지 않는 것으로 시도 할 수있는 것이 있습니다.

셀 내에서 텍스트를 변경할 수 있습니다. 행을 추가해야하는 경우 테이블 끝에 데이터를 추가하고 다시 정렬하십시오. 행을 삭제해야하는 경우 텍스트 / 숫자 만 제거한 다음 테이블을 다시 정렬하십시오.

이것은 열에 적용되는 조건부 서식이있을 때 효과적이며 일반적으로 전체 열의 서식을 설정합니다. $ F : $ F. 부분 범위의 형식을 지정하는 경우에도 여전히 작동해야합니다. 형식을 추가하려는 모든 데이터가 원래 범위 매개 변수 내에 있는지 추가 / 제거하고 수정하면 완료됩니다.

나에게도 큰 좌절입니다.

이게 도움이 되길 바란다.


1

나는 아니에요 SO 확인하고 나는 종종 같은 문제에 직면하고 있습니다.

CF (조건부 서식) 패널의 '적용 대상'필드가 항상 동적으로 작동한다고 말하고 싶습니다. 따라서 항상 참조를 형식으로 변환합니다 =$A$1:$A$50.

고통입니다.


명시 적 또는 변수 선언 ($ 또는 $ 없음)을 사용하더라도 마찬가지입니다.
Paul

1

조건부 서식 규칙에서 INDIRECT함수와 함수 를 사용하면 ROWExcel에서 새 규칙을 만들고 범위를 변경하는 문제가 제거됩니다.

예를 들어, 월이 한 행에서 다음 행으로 변경되면 수표 등록 스프레드 시트의 행 사이에 줄을 추가하고 싶었습니다. CF 규칙의 공식은 다음과 같습니다.

=MONTH(INDIRECT("C"&ROW()))<>MONTH(INDIRECT("C"&ROW()-1))

내 스프레드 시트의 C 열에 날짜가 포함되어 있습니다. 범위에 특별한 작업을 수행 할 필요가 없었습니다 (범위 이름을 정의하지 않아도 됨).

CF 규칙의 "A1"또는 "A $ 1"대신 원래 포스터의 예에서 다음을 사용하십시오.

INDIRECT("A"&ROW())

0

비슷한 문제가 발생했습니다. 행을 추가하고 수식을 복사 한 다음 열과 행 크기를 조정하여 시트 모양을 지정하는 매크로를 만들었습니다. 이 문제는 두 가지 경우 중 하나에서 발생합니다.

1) INSIDE의 무언가가 "적용 대상"이이 범위 밖에서 잘 리거나 붙일 때

2) "적용 대상"내에 병합 된 셀이 있고 행 또는 열이 조정되는 경우.

병합 된 셀 문제 중에는 모든 것이 병합 해제되고 조건부 응용 프로그램을 다시 계산하고 모든 셀을 조정 (행 추가 또는 삭제 또는 그렇지 않은 것) 한 다음 다시 병합해야합니다. 우리에게는 보이지 않지만 그것이 적용되는 방식 인 것 같습니다.

그것이 우리가 이것에 대한 해결책을 얻는 데 도움이 될 것이라고 생각했습니다.

-티


0

이에 대한 간단한 해결책이 있습니다.

범위 (범위가 아닌 셀)에있는 셀로 이동하고 포맷 페인터를 클릭 한 다음 전체 열에 붙여 넣으십시오. 다시 그것은 그것이 부서진 곳을 보여줄 것입니다, 당신은 범위를 파괴 한 셀에 Format Painter를해야합니다. 이제 이것도 약간 길어 보일 수 있습니다. 간단한 매크로를 만들 수 있습니다.


0

조건부 서식 수식에서 함수 R1C1와 함께 표기법을 사용 INDIRECT합니다.
예 1 :

If same row column A = 1 ...

=IF($A1=1,1,0) becomes 
=IF(INDIRECT("RC1",FALSE)=1,1,0)

예 2 :
If same row column A = 2 AND next row column A = 3...

=IF(AND(($A1=2),($A2=3)),1,0) becomes
=IF(AND((INDIRECT("RC1",FALSE)=2),(INDIRECT("R[1]C1",FALSE)=3)),1,0)

0

사용 사례가 보고서 스프레드 시트를 생성하는 경우 다음과 같이 작동합니다.


모든 데이터 입력을 완료 한 후 최종 데이터를 수동으로 새로 고치려는 경우 몇 번의 설정 단계만으로 Excel 의 과도한 도움을 피할 수 있습니다 .

데이터가 정상적으로 배열되어 있다고 가정합니다 (행).

  1. 모든 데이터를 한 장에 입력하십시오. 이 자습서에서는 시트 이름을 지정합니다 Input. 조건부 서식을 적용하지 마십시오. 값을 마음의 내용으로 자유롭게 이동하십시오 (예 : 삭제 / 삽입 / 복사 / 붙여 넣기)
  2. 다른 빈 시트를 만들고 원하는대로 이름을 지정하십시오 (예 :) Output. 열 너비 및 머리글 서식 (예 : 머리글 내용이 아니라 서식)과 같은 전역 서식을 수동으로 복사합니다.
  3. 교체 $A$1: 헤더 행의 시작 위치에 다음과 같은 식으로, 당신은 출력하고자하는 모든 행과 열을 통해 복사 =IF(LEN(OFFSET(Input!$A$1,ROW()-1,COLUMN()-1))>0,OFFSET(Input!$A$1,ROW()-1,COLUMN()-1),"") 합니다 ( IF(LEN(...)>0,...,"")문 엑셀도 있기 때문에 필요합니다 유용하게 당신과 사용에 대한 데이터 유형을 결정한다 0, 그렇지 않으면 빈 셀에 대한, 그리고 -1약관) 서수 의미 오프셋 대 온
  4. Output시트에 조건부 서식을 적용하십시오 .

이렇게 하면 Excel에서 자동으로 처리 할 수있는 셀 참조없이 Input데이터 시트를 Output시트에 복사 하므로 Output시트 에서 조건부 서식을 자신있게 정의 할 수 있습니다 .

데이터 Output크기가 Input변경 될 때 시트 에 수식이 적용되는 범위를 수동으로 확장하면 됩니다.

셀 병합을 피하는 것이 좋습니다.


추신 :이 질문은 여러 번 요청되었으며 (Excel의 복제본 인 Google 스프레드 시트에도 적용됨) 사용 사례에 대한 더 나은 솔루션을 찾을 수 있습니다.

  1. Excel 조건부 서식 조각화
  2. (이) 어떻게 자동으로 변경하는 조건부 서식의 수식과 범위를 유지합니까?
  3. 잘라 내기-붙여 넣기시 조건부 서식 유지
  4. Excel : 전체 스프레드 시트에 조건부 서식을 영구적으로 적용하는 방법은 무엇입니까?
  5. Excel에서 조건부 서식을 도용하는 이유는 무엇입니까?

0

형식 ( Paste > Paste Special > Unicode Text또는 이와 유사한) 없이 붙여 넣으면 특수 형식이 복사되지 않으므로 "적용 대상"범위가 변경되지 않아야합니다.

행 / 열을 삭제할 수 있지만 삽입하면 "적용 대상"범위가 분할됩니다.

"커서"의 왼쪽 하단에있는 작은 사각형에서 마지막 행 / 열과 "복사"를 선택하여 영역을 확장합니다. 이렇게하면 "적용 대상"범위가 그대로 유지됩니다. (이것은 insert처럼 행이나 열에 대한 수식을 확장하지 않습니다.)

그러나 형식없이 붙여 넣는 것을 기억하는 것은 총 고통입니다. 나는 보통하지 않습니다.

때로는 서식을 지정할 영역의 이름을 정의하기도합니다. 규칙에는 사용되지 않지만 규칙을 제외한 모든 규칙을 제거하여 규칙을 정리하고 "적용 대상"섹션의 영역 이름을 사용할 수 있습니다.

Excel 16.3을 사용하여 Mac에서 테스트했습니다 (Office 2016 ... 흠).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.