[리브레오피스 TIP] 조건부 서식으로 행과 열에 각종 효과를 더하자 #2
이전 글에서는 간단한 조건부 서식을 지정하는 방법을 알아봤습니다. 이번에는 조금 더 다양한 방법으로 활용 할 수 있는 조건부 서식을 만들어서 적용해보도록 하겠습니다. 이전 기초편과 달리 아주 자세한 설명은 생략하도록 하겠습니다. 따라서, #1의 기초편을 잘 숙지하고 조건부 서식 활용을 익혀주세요.
사실 조건부 서식을 제대로 쓸려면 간단한 수식이나 함수를 알면 더 좋은 효과를 낼 수 있습니다. 말 그대로 특정 조건에 대한 “서식”을 지정하는 것이니까요. 수식을 잘 몰라도 서식을 지정할 수 있다는 장점이 있기도 하지만, 역시 복잡한 활용을 하려면 수식(이나 함수)을 조금 아는 것이 더 도움이 되긴 합니다.
표가 커질 경우 좌우의 구분표가 멀어지면서 혼란스러운 경우가 많죠. 이런 혼란을 막아주기 위해서 행에 색을 표시 해줄때가 많은데 일일이 한줄씩 색을 주려면 얼마나 힘든지 아시죠. 이럴때 조건부 서식을 이용하면 쉽게 한 행씩 다른 색을 적용해서 쉽게 표를 만들수 있습니다.
일단 한 행씩 건너뛰어서 색을 칠할 수식을 표현하는 것이 중요합니다. 이런 수식을 만들려면 첫번째, 행을 체크해서 홀수나 짝수로 체크하는 법이 있구요. 둘째로는 현재 행을 2로 나눠서 나머지가 0이나 1을 구분하는 방법이 있겠죠.
수식은 iseven(), isodd() 함수를 사용해서 표현합니다. 현재 행의 값을 가져올 row() 함수를 잊어선 안되겠죠. 그럼 iseven(row()) 수식은 현재 행을 가져와서 현재 행이 짝수인지를 확인하고 True나 false를 리턴합니다.(리브레오피스 도움말 참조) 그런데 조건부서식에서는 0(true) 또는 1(false)로 체크를 해줘야 하더군요. 그럼 수식을 완성해 봅시다.
iseven(row())=0
isodd(row())=0
물론, 스타일일 지정해주는 것도 잊지 마셔야겠죠.
나머지를 구하는 함수 mod()를 사용합니다. 위에서 수식을 완성해 보셨으니 간단히 하실수 있죠 ? mod(row(), 2)=0 일때와 mod(row(), 2)=1 일때 두가지 수식을 넣어서 배경색을 달리 해주면 위와 동일한 효과를 얻을 수 있습니다.
mod(row(), 2)=0
mod(row(), 2)=1
아주 간단합니다. 1, 2번에서 사용한 row() 대신에 column()을 사용해주시면 됩니다. 아래와 같이 잘 적용 되었습니다.
주의사항
동일한 조건부 서식에서는 아래의 수식열부터 구현해서 보여줍니다. 따라서 겹치는 부분이 있을때는 가장 마지막에 출력되어야 할 형식을 가장 위로 보내주면 됩니다.
조건부 서식의 순서에 따라 지정한 색이 나타나지 않을수도 있습니다. 다음의 그림을 참고해 보도록 합시다.
위의 그림은 판매유형이 “행사”일때 빨간색 글씨를 칠하도록 사용한 것입니다. 그런데 위의 그림에는 수식이 있는데 적용이 되질 않았죠 ? 수식이 아래에 있을수록 먼저 조건부서식을 실행하기 때문에 가장 나중에 나타나야 할 수식을 위로 올려줘야 합니다.
위의 그림을 보면 배경색이 하얗게 변해버렸는데요…사실 투명색이 있다면 간단하게 해결될 문제지만, 배경색을 지정하지 않았음에도 리브레오피스에서는 하얗게 채색을 합니다. 아마도 배경에 대한 기본색이 지정되어 있기 때문일텐데요. 이런 경우 아래의 수식과 합쳐서 글씨만 빨갛게 나오는 수식을 한번 만들어 볼까 합니다. 좀 귀찮아 지겠지만 예쁘게 만들기 위한 방법이라고 생각하시거나 더 확장된 사용법을 배운다고 생각해보시면 좋을것 같습니다.
그런데 여기서도 또 문제가 있습니다. 조건부 서식의 적용 범위가 달라질때는 다른 수식관리를 사용해야 하는데….같은 조건부 수식내에서는 수식의 위치를 옮길수 있지만 다른 범위의 조건부 서식은 위치를 옮길수 없기 때문에 처음부터 잘 생각해서 작성해야 합니다.
주의사항
범위가 다르거나 다른 조건부 수식으로 꾸밀때는 같은 조건부 서식에 있는 수식과 반대로 가장 먼저 작성한 것이 가장 위에 나옵니다.
문제는 순서가 뒤바뀔때가 있습니다.
범위를 지정할때 조건부 서식의 순서가 바뀔때가 있습니다. 순서가 바뀌더라도 작성된 순서에 맞춰서 진행되는 것은 동일합니다. 따라서 순서를 잘 기억해 두셔야 해요.
아래에 나올 색에 맞춰서 미리 글자색과 배경색을 지정하는 수식을 가장 먼저 사용합니다. 범위는 I 열만 사용합니다.
수식은 AND() 함수를 이용해서 배경색을 만들때 사용하는 수식과 I열에 있는 값이 둘다 조건에 맞을때만 스타일을 적용하도록 하는 겁니다.
AND(MOD(ROW(),2)=0,$I5=”행사”)=1
AND(MOD(ROW(),2)=1, $I5=”행사”)=1
두 수식에 맞는 배경색과 글자색을 각각 정해서 스타일로 지정해두면 됩니다.
이후에 전체 테이블에 대한 색을 지정하고 범위를 지정합니다.
이런 방법들을 잘 이용해보면 격자 모양의 테이블이나 표를 만드는 데도 문제 없이 적용될 것입니다 🙂
격자 무늬의 테이블을 만들어 보았습니다. 힌트는 스크린샷 안에 다 들어 있습니다 🙂 한번 만들어 보세요.
조건부 서식을 사용하면 아무리 큰 Sheet나 chart라도 간편하게 동일한 효과의 서식을 적용 시킬 수 있습니다.
특히 반복되는 서식을 적용할때 정말 편리하죠.
특정 검색조건에 의한 서식을 지정하거나, 여러가지 수식을 통해 구현된 부분에 서식을 적용할때도 편리합니다.
가시적이고 가독성이 좋은 문서를 만들기 위해서 조건부 서식은 많은 잇점을 제공합니다.
1. 위에서 이야기 드린 바와 같이 배경색에 투명을 적용할 수 있다면 더 쉽게 해결될 부분들이 많은 것이 아쉽네요.
2. 조건부 서식의 순서도 동일한 서식내에서 처럼 순서를 바꿀 수 있으면 더 편하겠습니다.
빠른 업데이트와 함께 점점 강력한 기능으로 돌아오고 있는 리브레오피스에 큰 기대를 하고 있습니다. 점점 안정화가 되어가고 있는 점도 좋고, 다양한 기능이 제대로 작동하기 시작한 점도 좋습니다. 세세한 부분들이 좀 미흡하지만 일반적인 사용에는 큰 문제가 없기 때문에 소호에서는 굳이 유료 소프트웨어를 사용하시는 것 보다 리브레오피스를 사용해보시길 바랍니다.
1 Response
[…] [리브레오피스 TIP] 조건부 서식으로 행과 열에 각종 효과를 더하자 #2 […]