20230630 1734 
 
REF
[1] https://soccom.tistory.com/145 ,
 
advanced filtering, text filter, formula filter
 
1, 문자 조건(문자식)
수식이 아닌 조건(문자 조건)은 표를 만드는데..
가, 맨 위에 필드이름을 쓰고
나, 다음 줄부터 조건식을 쓴다
다, 두 개이상의 조건이 AND 조건이면 같은 행에 쓰고
라, OR 조건은 다른 행에 쓴다.

2, 수식 조건
(개요) 문자가 아닌 수식으로 고급필터 조건을 만들 수 있다.
(정리) 수식으로 조건을 만드는 경우도 표를 만드는데
가, 맨 위 행(글머리 행)은 아무 글이나 쓴다. 단, 공백으로 비워도 되는데 필드이름을 쓰면 안된다.**

나, 조건을 적용할 수식을 그 아래 쓴다.

다, 두 개 이상의 조건이 AND이면 같은 행에, OR는 다른 행에 쓴다.
 

** 조건 수식 위에 왜 글머리 행을 써야할까?
(문자 조건과 달리 수식 조건에서는 수식 안에 어느 필드에 조건을 적용할지 정보가 이미 들어가 있으니 '어느 필드에 조건을 적용할지'를 알려주는 글머리행은 필요 없을 것같은데..)

(fact) 조건 수식(표) 만들때 는 반드시 글머리 행을 만들어야 한다.
1) 조건수식 위에 행 하나는 반드시 있어야 한다.

  - 위 예의 경우 F10:G10 과 F17:G19 범위에 조건을 만들 때 맨 위 행에 임의의 글자("condition")를 넣었다.
  - 필터 조건(Criteria Range)를 잡을 때도 "condition"이라는 글자까지 포함해야한다.
2) 그 행에는 공백을 포함한 아무 글자를 써도 되는데 필터링하려는 원래표의 field name은 쓰면 안된다.

(이유, 추정)
1) 자동필터가 필터링 조건(표)를 읽어들일 때 맨 첫 행은 글머리행으로 인식하게 만들어져 있다.
2) "조건표의 글머리행"이 "필터하려는 대상(원래표)의 field name"을 포함하면 "문자" 조건으로 인식한다.
3) "조건표의 글머리행"이 "필터하려는 대상(원래표)의 field name"을 포함하지 않으면 "수식" 조건으로 인식한다.

(근거)
"조건 수식 위에 행(글머리행)"을 제외하고 조건범위를 잡으면, 맨 위에 행은 (조건이 아니라 글머리행이므로) 무시하고 다음 행부터 조건을 찾기는데 두 번째 행은 존재하지 않으므로, 필터 조건이 없는 필터링 결과(즉 모든 데이터가 그대로 추출된 결과)가 나온다.


3, 수식조건이 문자조건보다 좋은 점
가, (a) "평균보다 큰 레코드 추출", (b)"반복된 데이터만 필터링" 등은 수식으로 밖에 못 할 듯..

  • (a) =C3>AVERAGE($C$3:$C$7)
  • (b) =COUNTIF($B$3:$B$7,B3)>1

나, 조건이 해당 레코드가 아닌 경우** 필터링은 수식으로 밖에 못 할 듯..
**  (예시) 해당 레코드(예를 들어 3행)의 아래 레코드(4행)의 "buyer" 칼럼이 "b"인 자료만 추출

 

'[PA] 업무자동화 > [XL]Excel & VBA' 카테고리의 다른 글

XL 1048576 XFD  (0) 2023.07.02
XL fill up, fill down  (0) 2023.07.02
XL 수식을 바꾸지 않고 transpose해서 붙여넣기  (0) 2023.06.25
XL 점점점으로 빈 셀 채우기  (0) 2023.06.25
XL 도형 - 화살표 선  (0) 2023.06.25
Posted by Weneedu
,


출처: https://privatedevelopnote.tistory.com/81 [개인노트]