Excel 2007 : 각 행에 낮은 값의 노란색, 높은 값의 빨간색이 표시되도록 조건부 서식


14

약 300 행의 스프레드 시트가 있습니다. 각 행에는 약 15 개의 열이 있으며 각 셀에는 숫자 값이 있습니다. 각 행은 제품에 해당합니다.

각 제품에 대해 Excel에서 빨간색으로 가장 높은 숫자와 노란색으로 가장 낮은 숫자의 셀을 강조하고 그 사이의 숫자에 대한 그라디언트를 강조하고 싶습니다. 행 (특히 내 데이터를 포함하는 행의 15 개 셀)을 선택한 다음 조건부 서식> 색상 스케일> 빨간색 노란색 색상 스케일을 클릭하면 이런 일이 발생합니다.

그러나 300 행이 있으며 각 행을 개별적으로 선택하고 조건부 서식을 설정하는 데 너무 오래 걸립니다. 반면에 전체 범위를 선택하고 조건부 서식을 적용하면 실제로 행 단위로 계산하려는 경우 Excel은 전체 범위를 기준으로 색상을 계산합니다. 예를 들어, 다음 샘플 데이터를 사용하십시오.

1 2 3
4 5 6
7 8 9

노란색으로 Y, 주황색으로 O, 빨간색으로 R을 사용하여 원하는 출력은 다음과 같습니다.

Y O R
Y O R
Y O R

그러나 전체 범위를 선택하고 조건부 서식을 적용하면 다음과 같은 결과가 나타납니다.

Y Y Y
O O O
R R R

한 번에 한 행씩하지 않고이를 수행하는 방법이 있습니까?


@wizlog : 맞습니다. 행에서 가장 높은 값은 빨간색이어야하고 해당 행에서 가장 낮은 값은 노란색이어야하며 다른 값은 중간에 있어야합니다 (가장 높은 값에 가까울수록 빨간색).
Michael Pavey

이 질문이 마음에 듭니다 ... 답변을 찾을 수 있는지 확인할 것입니다 ... 다시 도움을 드릴 수 있기까지 몇 시간이 걸릴 것입니다. 다른 수퍼 유저 회원이 시간 내에 답변을 찾기를 바랍니다 ..
wizlog

나도이 질문을 좋아한다. 그러나 매크로를 사용하는 것 이외의 다른 방법은 없습니다. 누군가가 나를 잘못 증명했으면 좋겠다.
Ellesa

답변:


15

선택의 각 행에 대한 조건부 형식을 작성하는 매크로는 다음과 같습니다. 선택에서 첫 번째 행의 형식을 각 행에 복사하여 수행합니다 (모두가 아닌 하나씩). 교체 P1 : B1을 데이터 테이블의 첫 번째 행에 대한 참조.

Sub NewCF()
    Range("B1:P1").Copy
    For Each r In Selection.Rows
        r.PasteSpecial (xlPasteFormats)
    Next r
    Application.CutCopyMode = False
End Sub

사용하려면 데이터 세트에서 형식화되지 않은 행 (내 경우에는 B2 : P300 )을 강조 표시 한 다음 매크로를 실행하십시오. 아래 예에서 처음 두 행의 최대 숫자는 각각 515 입니다. 두 세포는 모두 진한 빨간색 입니다.

그래도 이것보다 빠른 해결책이 있다고 확신합니다.

여기에 이미지 설명을 입력하십시오


1
고마워, 이것은 아름답게 작동했습니다. 또한 확신 할 수 없을 때 도움을 요청하는 가치의 훌륭한 예입니다 ... 조건부 서식을 처음부터 새로 설정하는 방법을 배워야한다고 가정했기 때문에 매크로를 사용한다는 아이디어에 놀랐습니다. 매크로를 얻는 것은 단지 기존의 서식이 : 훨씬 더 교활하다 복사
마이클 파 베이

@MichaelPavey 다행입니다. 그리고 슈퍼 유저를 환영합니다! :)
Ellesa

1
+ 1. 관심있는 사람이 있다면이 개념을 내 블로그에서 더 많이 살펴 보았습니다
Doug Glancy

이런 종류의 것이 Excel에 기능으로 내장되어 있지 않다는 것은 우스운 일입니다. 이런 식으로 행을 비교하는 것이 드문 일입니까?
Alex

5

이 작업을 수행하는 가장 쉬운 방법은 증분 복사 / 붙여 넣기입니다. 먼저, 원하는대로 1 행의 형식을 지정하십시오. 그런 다음 서식을 복사하여 두 번째 행에만 붙여 넣으십시오. 이제 행 1과 2를 모두 복사하고 서식을 행 3과 4에 붙여 넣습니다. 헹굼과 반복, 4 번 복사, 4 번 복사, 8 번 복사, 8 번 붙여 넣기, 16 번 복사, 16 번 붙여 넣기를 반복합니다. 최대 64 또는 128이되도록 몇 번 붙여 넣습니다. 그런 다음 복사하여 서식을 붙여 넣을 수 있으며 기하 급수적으로 이전보다 더 많은 영역을 다루고 있습니다.

그것은 우아하지 않으며 내 경험에 따라 조건부로 행을 먹여서 2500 행 정도를 최대화하는 데 필요한 리소스가 필요하지만 작업을 완료합니다.

나는 모든 단일 행에 대해 별도의 조건부 형식을 작성하지 않고 리소스를 낭비하는 논리가 있기를 바랍니다.


OP는 "단, 300 개의 행이 있으며 각 행을 개별적으로 선택하고 조건부 서식을 설정하는 데 시간이 오래 걸릴 것"이라고 말했다. 질문에
Prasanna

@Poultron, 감사합니다! 여기에 추가하려면 Ctrl / Cmd + Shift + 위 / 오른쪽을 사용하면 이전 행과 열을 모두 쉽게 선택할 수 있으므로 이전 행을 계산할 필요가 없습니다. 그런 다음 붙여 넣을 준비가되면 이미 서식이 지정된 행 아래의 첫 번째 셀에 커서를 놓고 Special Paste Format 만 지정하면 복사 된 행 수만큼 확장됩니다. Ctrl / Cmd + Shift + V는 또한 사용하려는 마지막 특수 페이스트를 기억하므로 전체 프로세스가 상당히 빠르게 진행됩니다. 방금 600 개의 행이있는 두 개의 스프레드 시트에서 사용했습니다.
Oskar Austegard

나는 ~ 100 행이있는 테이블 에서이 작업을 수행했으며 아름답게 작동했습니다. Format Painter는 7 번만 반복되었습니다.
mskfisher

0

방금 VBA를 통해이 작업을 수행하는 방법에 대한이 예제와 다른 예제를 발견했으며 생각이 들었고 스크립트를 알거나 복사하지 않고도 동일한 작업을 수행하는 비교적 빠르고 고통없는 방법을 알아 냈습니다.

원하는 조건부 서식을 원하는 행에 적용한 다음 전체 행을 강조 표시하십시오. 다음 테두리를 따라 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 (마우스는 이동 아이콘이어야 함) 다음 행으로 아래로 끕니다. 상황에 맞는 메뉴가 나타나면 "여기서 형식으로 복사"를 선택하십시오. 이제 조건부 서식을 두 행에 별도로 적용해야합니다. 그런 다음 한 번에 두 개 이상의 행을 선택하고 복사 할 수 있다는 점을 제외하고 계속해서이 작업을 반복적으로 수행하십시오.

위의 코드와 같은 일회성 거래는 아니지만 한 번에 한 줄을 수행하는 것보다 기하 급수적으로 빠릅니다. 도움이 되었기를 바랍니다.


0

조건 형식을 한 행에 적용 할 수도 있습니다. 행을 다시 강조 표시하고 "포맷 화가"를 두 번 클릭하여 잠급니다. 아래쪽 화살표 키를 사용하여 다른 행에 조건을 적용하십시오.

우리 회사의 경우 일반적으로 Excel에서 매크로를 차단하므로 이것이 효과적입니다. 그것이 당신에게도 도움이되기를 바랍니다.

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