Warning: array_merge(): Argument #1 is not an array in /home/rhaqjffp/html/wp-includes/blocks/shortcode.php on line 31

Warning: array_merge(): Argument #1 is not an array in /home/rhaqjffp/html/wp-includes/blocks/social-link.php on line 45
엑셀 : 주어진 조건들을 OR 로 만족시키는 항목들의 개수, 합계 구하기 – 곰벌레닷컴

엑셀 : 주어진 조건들을 OR 로 만족시키는 항목들의 개수, 합계 구하기

주어진 여러 조건들을 만족하는 항목들의 개수나 합계를 구할 때는 COUNTIFS 나 SUMIFS 함수를 사용하면 된다. 그러나 이 함수들은 반드시 모든 조건에 부합하는(즉, AND 조건) 항목의 개수나 합계 결과를 보여준다.

경우에 따라서는 조건들에 모두 부합하는 항목이 아닌 주어진 조건들 중 하나라도 부합하는(즉, OR 조건) 항목들로 계산을 하고 싶을 때가 있다. 아래부터는 여러개 조건들을 OR 로 만족하는 항목들의 개수나 합계를 구하는 함수식을 소개하고자 한다. 즉, COUNTIFS 나 SUMIFS 의 OR 조건 만족 Version 이라 생각하면 된다.

OR 조건 만족 함수식

= SUMPRODUCT( --( (조건)+(조건)+ ... +(조건) > 0 ))
= SUMPRODUCT( --( (조건)+(조건)+ ... +(조건) > 0 ), 합계범위 )

“거래처” 조건과 “판매액” 조건 중 하나라도 만족하는 항목을 찾는 OR 조건식이다.

위쪽 함수식은 개수를, 아래쪽 함수식은 합계를 구하고 있다. 각 조건 들을 + 기호로 연결하는 것만으로 OR 조건으로 만족시킬 조건들을 추가할 수 있다.

위 함수식을 이해하기 위해 먼저 알아둬야 할 것은 엑셀은 True 혹은 False 에 + 와 같은 사칙연산자를 적용하면 각각 1 과 0 으로 치환하여 계산한다는 점이다. 위 수식에서 조건의 결과는 True 혹은 False 이다. 이 결과들을 + 연산자로 연결했기 때문에 True 가 하나라도 있게 되면 조건들의 합은 1 이상이 나올 것이므로 조건+조건+…+조건 > 0의 결과는 다시 True 가 된다. 만일 어떠한 조건에도 부합하지 않는다면 조건들의 합은 0 이므로 조건+조건+…+조건 > 0의 결과는 다시 False 가 될 것이다.

이를 — 연산자가 받게 되는데 이는 기호 그대로 – 를 두번한 것이다. 마이너스를 두번하면 결국은 원래의 수가 되므로 의미가 없는 것이지만 여기서는 –( … > 0 ) 함수식 내부 결과가 True 혹은 False 이므로 강제로 1 또는 0 이라는 숫자로 전환하기 위해 사용된 것이다. 이 결과를 SUMPRODUCT 함수로 처리를 하는 구조이다.

만일 위 수식에서 조건들을 연결한 + 기호를 * 기호로 바꾸게 되면 COUNTIFS, SUMIFS 함수와 동일하게 AND 조건으로 개수나 합계를 구하는 함수식이 된다.

[TheChamp-FB-Comments]

댓글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다