반응형

지식in 질문에 expert님이 답변해주신 내용을 이해하고,

나중에 활용하고자 정리하는 내용임

 

데이터는

품목 | 날짜 | 평가결과

 

도출하고자 하는 결과물은

          날짜1      |    날짜2   | 날짜3

품목  평가결과 | 평가결과 | 평가결과

형태임

 

평가결과 = index(데이터의 평가결과열,match(1,index((데이터의 품목열 = 결과물의품목 값)*(데이터의 날짜열 = 결과물의 날짜값)))

 

match함수의 두번째 항목이 배열이라는 점을 활용 하는 거고,

= 연산자는 같으면 1, 다르면 0을 반환하는 연산자임

즉 품목비교는 데이터의 품목열에서 특정  품목값과 같은 경우 1 아닌 경우 0을 가진 배열을 만들고

날짜비교는 데이터의 날짜열에서 특정 날짜값과 같은 경우 1 아닌 경우 0일 그진 배열을 만들어서

두 배열을 곱해서 index에 넣으면 품목과 날짜가 동시에 일치하는 위치만 1이 되는 배열이 만들어짐

이때 match(1,상기배열)로 1과 동일한 위치를 반환하고

다시 index에서 반환한 위치에 있는 값을 찾아 결과로 보여주는 것임 

반응형

https://excellator.tistory.com/12 

 

INDIRECT함수 활용하기 거의 끝판왕

질문은... " 안녕하세요 첨부한 파일에 value err 가 계속나는데 어떻게 수정해야 할지 모르겠습니다. 1.err상단 날짜 기간동안의 동남권 데이터 평균을 구하고 싶습니다. 2.err상단 날짜 수식도 바르게 된건지 확..

excellator.tistory.com

https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=102&docId=324151019&page=1#answer1

 

엑셀고수님들 부탁드립니다.

안녕하세요첨부한 파일에 value err 가 계속나는데 어떻게 수정해야 할지 모르겠습니다.1.err상단 날짜 기간동안의 동남권 데이터 평균을 구하고 싶습니다.2.err상단 날짜 수...

kin.naver.com

관련해서 다른 고수의 답변에 

index(ref,row,col)으로 쓰게 되는데, row를 넣지 않으면 col 전체가 선택된다는 내용이 있음

 

 

반응형

 

 B

1

 방

성별 

 

 

 

 

2

 201

남 

 

 

 

 

 3

 302

남 

 

 남

 여

 

 4

 202

여 

 2층

인원수는? 

 

 

 5

 301

 남

 3층

 

 

 

 6

202 

여 

 

 

 

 

 7

 301

남 

 

 

 

 

 8

 

 

 

 

 

 

 9

 

 

 

 

 

 


=SUMPRODUCT((--LEFT(B2:B7)=ROW(A2))*(C2:C7=F3))


##(--LEFT(B2:B7)=ROW(A2)

ㅇ --는 -(마이너스)를 두번 곱해서 숫자로 만든 것

ㅇ LEFT함수에서 가져올 숫자를 입력하지 않으면 한개의 문자만 반환

   - 이 경우 범위를 지정하면 범위내 셀별 첫번째 문자를 배열로 반환

   - 결과값은 {2;3;2;3;2;3;} 이 됨, 이것과 ROW(A2)를 곱했으니 {TRUE;FALSE;TRUE;FALSE;TRUE;FALSE} 가 됨


##(C2:C7=F3)

ㅇ 결과값은 {TRUE;TRUE;FALSE;TRUE;FALSE;TRUE}임


##SUMPRODUCT

ㅇ {T;F;T;F;T;F}*{T;T;F;T;F;T;}={1;0;0;0;0;0}가 되고

ㅇ SUMPRODUCT({1;0;0;0;0;0})의 결과는 1이됨, 2층 남자는 1명

    ------> SUMPRODUCT의 인수인 배열이 한개만 입력되면 해당 배열의 ELEMENT 갯수만큼의 1로 구성된 배열이 있는 것으로 가정하고 계산하는 듯함



'Excel > 신박한 활용' 카테고리의 다른 글

index와 match의 배열 활용  (0) 2022.06.15
index와 match의 신박한 활용  (0) 2019.03.28

+ Recent posts