[ 배열수식의 해설 - 3,4 ] 에 대해 알아봅니다.
 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
ABCDEFGHIJK
(3)   =SUMPRODUCT((영역=조건),(영역=조건),(합계영역))
=SUMPRODUCT((A3:A11=B16),(B3:B11=C16),(C3:C11))
지역담당자금액FALSE0FALSE0금액000 * 0 * 0
부산홍길동10TRUE0TRUE0101000 * 0 * 10
제주심순애20FALSE0FALSE0202000 * 0 * 20
대구홍길동30FALSE0TRUE0303000 * 0 * 30
독도심순애40FALSE0FALSE0404000 * 0 * 40
부산홍길동50TRUE0TRUE0505000 * 0 * 50
제주심순애60FALSE0FALSE0606000 * 0 * 60
대구홍길동70FALSE0TRUE0707000 * 0 * 70
독도심순애80FALSE0FALSE0808000 * 0 * 80
360조건1조건2합계영역0합계   [=조건1*조건2*합계]
{=IF(ISNUMBER(H3:H11),H3:H11,0)}
{=IF(ISNUMBER(F3:F11),F3:F11,0)}
조건지역담당자{=IF(ISNUMBER(D3:D11),D3:D11,0)}
부산홍길동SUMPRODUCT 함수는 각 인수를 1:1 로 곱하되
[[숫자가 아니면 모두 0 으로 변경합니다]]
TRUE , FALSE 에 +-*/ 연산을 안하므로 0 으로 계산합니다.
합계해설
0해설 3=SUMPRODUCT((A3:A11=B16),(B3:B11=C16),(C3:C11))
60해설 4=SUMPRODUCT(--(A3:A11=B16),--(B3:B11=C16),(C3:C11))
논리값
(TRUE,FALSE)을
그대로 두고
함수에 적용함과
논리값
(TRUE,FALSE)에
 -- 연산을 함이
서로 다른 결과를
 가져옵니다.
(4)   =SUMPRODUCT(--(영역=조건),--(영역=조건),(합계영역))
=SUMPRODUCT(--(A3:A11=B16),--(B3:B11=C16),(C3:C11))
0000금액000 * 0 * 0
11111010101 * 1 * 10
0000202000 * 0 * 20
0011303000 * 1 * 30
0000404000 * 0 * 40
11115050501 * 1 * 50
0000606000 * 0 * 60
0011707000 * 1 * 70
0000808000 * 0 * 80
조건1조건2합계영역60합계   [=조건1*조건2*합계]
{=IF(ISNUMBER(--(H24:H32)),--(H24:H32),0)}
{=IF(ISNUMBER(--(F24:F32)),--(F24:F32),0)}
{=IF(ISNUMBER(--(D24:D32)),--(D24:D32),0)}
TRUE , FALSE 에 -- 연산을 하므로 1 로 계산합니다.
논리결과(TRUE,FALSE)에 -1을 두번 곱합니다.
그러나 사실은 [[부호변경 역할을 두번 수행합니다.]]
숫자가 아닌것은 모두 0 으로 인식합니다(첫 행의 문자 "금액"은 0 으로 인식합니다)


Sheet3
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!배열수식이에요.
   수식만 입력
하고 Ctrl + Shift + Enter 하면 {} 는 자동으로 생깁니다.
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No셀주소왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과수식을
1D3:D11=(A3:A11=B16)
셀 주소 모두를 선택하고 입력하세요
FALSE
2E3:E11=IF(ISNUMBER(D3:D11),D3:D11,0)
셀 주소 모두를 선택하고 입력하세요
0
3 E3  셀의 수식을 여기에 복사하세요 -→ E3,G3,I3  
4F3:F11=(B3:B11=C16)
셀 주소 모두를 선택하고 입력하세요
FALSE
5H3:H11=(C3:C11)
셀 주소 모두를 선택하고 입력하세요
금액
6J3:J11=E3:E11*G3:G11*I3:I11
셀 주소 모두를 선택하고 입력하세요
0
7 J3  셀의 수식을 여기에 복사하세요 -→ J3,J24  
8K3=E3&" * "&G3&" * "&I30 * 0 * 0
9 K3  셀의 수식을 여기에 복사하세요 -→ K3:K11,K24:K32  
10J12=SUM(J3:J11)0
11 J12  셀의 수식을 여기에 복사하세요 -→ J12,J33  
12D24:D32=--(A3:A11=B16)
셀 주소 모두를 선택하고 입력하세요
0
13E24:E32=IF(ISNUMBER(--(D24:D32)),--(D24:D32),0)
셀 주소 모두를 선택하고 입력하세요
0
14 E24  셀의 수식을 여기에 복사하세요 -→ E24,G24,I24  
15F24:F32=--(B3:B11=C16)
셀 주소 모두를 선택하고 입력하세요
0
16H24:H32=(C3:C11)
셀 주소 모두를 선택하고 입력하세요
금액

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.   
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
   분홍색 수식이 있으면 수식 입력에 주의하세요 !!!
     도움이 되시기를 바랍니다.

   참고로 배열수식은...
   수식의 결과가 하나가 아닌 여러개의 결과를 가집니다.
   배열수식의 사용의 주된 용도는
   그 결과중 특정한 몇 번째 값을 가져오는 등의 용도입니다.
   수식을 입력할 때 수식입력줄에 {} 기호가 나오지 않는 것은
   수식을 입력할때 {} 문자를 사용자가 입력하는 것을 방지함이 그 목적이며
   이미 입력된 수식의 내용이 수식입력줄에서 {} 로 둘러싸이는 것은
   수식 입력을 배열수식 형태로 입력했다(컨트롤+시프트+엔터)는 의미이고
   이미 입력된 수식의 수식입력줄에 {} 가 보이지 않는것은
   실제 수식 내용이 배열수식일지라도
   사용자가 임의로(혹은 실수로) 일반수식처럼 입력했다는 의미입니다.

     합계영역을 지정하기 않으면 조건에 맞는 개수를 구합니다.

Posted by 오즈맨스머프