목록Match (22)
무지개타고
오튜에 올라온 질문인데.. 두 개의 필드로 구성된 목록을 정리하는게 목적이다. 필드가 하나 일때 보다는 조금 복잡하다. 이는 고급필터 또는 피벗테이블 기능으로 간편하게 구할 수 있다. 그러나 질문자는 기능이 아닌 수식으로 처리하길 바라는데... 자료가 어낙에나 많아 수식으로는 한계가 있는 질문이었다. 이쯤에서 몇번 소개한 구글닥스의 Unique 함수를 보자. 이름 그대로 Unique 함수는 목록 정리용으로 아주 딱이다. 너무나 유용한 함수이기에, 엑셀로 복제해 반영해줬으면 정말 좋겠다. 앞서 질문을 엑셀에서 수식으로 처리하려면 삽질 좀 많이 해야 한다. 위에서 봤듯이 구글닥스에서는 Unique 함수 딱 하나로 끝나는데 말이다. d3 셀 (구분) =IF(SUM(1*(FREQUENCY(MATCH($A$2:$..
더하기 연재가 스무번까지 올 줄이야... 아무튼 더하기는 계속 된다. 지난 번에 다룬 오튜 질문이 좀더 복잡했다. 그래서 이를 다조건 행렬에 반영... 그리하여 나온 결과는... g2 셀 (판정) =INDEX($B$14:$D$14,MATCH(SUM(10^(ROW(INDIRECT("1:"&COUNTA($B$14:$C$14)))*(MMULT(1*(T(OFFSET($A$7,0,MMULT(COLUMN($B$7:$E$7)^0,1*($B2:$F2>=TRANSPOSE($B$8:$E$12)))+1))=TRANSPOSE($B$14:$C$14)),ROW($A$8:$A$12)^0)>=TRANSPOSE($B$15:$C$15)))),{11,101,2},0)) 물론 배열수식이고... 구글 크롬에서도 수식이 제대로 보여지지 않는다..
오튜에 흥미로운 질문이 올라왔는데... 언제나처럼 내 맘대로 정리를 해봤다. 질문은 대충 그랬다. 항목별 제시된 조건에 따라 각각의 점수를 구분짓고, 이를 종합해 최종 판정을 하겠다는 것. 그런데 제시된 조건이 많이 까탈스럽다. 그나마 부등호가 "미만"과 "이상"으로 일정하다는게 다행이랄까... 음... 어쩐담? 땡기긴 땡기는데... 그래서 조금 변형된 다조건 행렬을 구성했다. 제시된 조건을 "미만"이 기준값이 되게 먼저 입력하고, 행렬틀에 맞춰 빈 자리는 앞 조건에 제시된 값으로 채우고, 맨 우측 범위(최대값)가 지정되지 않은 경우는 임의로 10^100 을 부여했다. 설마 점수가 10^100을 초과한다면... 엑셀 도움말에 따르면 엑셀에서 최대로 사용할 수 있는 값은 9E+308이니 이를 적용하면 되겠..
바로 며칠 전 예제를 바꿔봤다. 문자가 아닌 숫자로. 그리고 연속출현이 아닌 연속 순차 증가로. 원래 이 예제는 엑사모에 올라온 질문인데, 질문이 헷갈리게 작성되서 내 맘대로 바꾼 것이다. b16 셀 (최다빈도) =MAX(MMULT((TRANSPOSE(A2:A12)>A2:A12)*((TRANSPOSE(A2:A12)-A2:A12)=(TRANSPOSE(ROW(A2:A12))-ROW(A2:A12))),(A2:A12)^0)) b17 셀 (시작값) =INDEX(A2:A12,MATCH(MAX(MMULT((TRANSPOSE(A2:A12)>A2:A12)*((TRANSPOSE(A2:A12)-A2:A12)=(TRANSPOSE(ROW(A2:A12))-ROW(A2:A12))),(A2:A12)^0)),MMULT((TRANSPO..
또다시 찾아온 더하기 시간이다. ^^ 문제는 대충 이렇다. 자료가 나열되어 있다. 그중 이웃한 자료가 앞 자료와 같을 때, 즉 자료가 연속되어 나열되는 경우에서 가장 많이 연속출현한 최다빈도와 그 값 찾기. 이리저리 생각해 봤으나, 역시나 더하기가 필요해 보인다. b16 셀 (최다빈도) =MAX(MMULT((MMULT((TRANSPOSE(MATCH(A2:A12,A2:A12,0))=MATCH(A2:A12,A2:A12,0))*(TRANSPOSE(ROW(A2:A12))>ROW(A2:A12)),1*(TRANSPOSE(ROW(A2:A12))>=ROW(A2:A12)))0)*(MMULT((TRANSPOSE(MATCH(A2:A12,A2:A12,0))=MATCH(A2:A12,A2:A12,0))*(TRANSPOSE(ROW..
더하기를 갖고 많이도 우려먹었다. 엑사모에 올라온 질문을 갖고 또 우려먹으련다. 얘기는 대충 이렇다. 제품별로 판매량이 날짜별로 집계되는데... 각각의 제품별을 구성하는 부품도 덩달아 몇개나 출고 됐는지를 집계하고 잡다는 것. '단순 더하기'의 수식을 원했다면, 아마도 질문 자체를 않았겠지? b10 셀 (단순 더하기) =$F3*B$3+$G3*B$4+$H3*B$5 그래서 좀 봤다. 참조하는 '제품별 부품구성' 표를... 훑어보니 제품과 부품의 배치 순서가 동일하다??? MMult 함수가 딱이다. f10 셀 (MMult 더하기(순서:동일)) =MMULT($F3:$H3,B$3:B$5) 그러나 순서가 동일하길 바라는건 욕심일게다. 아니나 다를까, 순서가 동일하지 않는 경우를 되묻던데... 이 경우에도 MMult..
관심이 끌리는 질문이다. 오튜에 올라온 질문인데 내 맘대로 정리하면 대충 이렇다. 시점별로 값이 있는데 전체 합계의 80%를 점유하는 기간(시작~종료)을 알고 싶다는 것. 물론 기간은 짧을 수록 좋다. 그리고 자료는 종 모양으로 분포하고 최고점을 중심으로 한다는 것. 질문이 유용해 보인다. 그래서 허접대마왕(?)이 나가신다. 으~~ㅁ ㅎㅎㅎ 이야기(?) 전개는 대략 세 가지. - 피라미드 - 정규분포 응용 - 이동누적점유율 자료가 종 모양을 이루고, 최고점이 중심이라고 해서 처음 떠올린 이야기는 '피라미드'였다. 그리고 종 모양의 대명사, 정규분포를 응용해 보기로 하고 '정규분포 응용'을 구상했다. 그런데 만일 분포가 일정하지 않다면? 모르긴해도 뭔가 많이 불안한 결과가 나올거 같다. 그래서 시점의 이동..
오튜에 올라온 질문인데... 언제나 처럼 내 맘대로 정리해 봤다. 이때 조건은 대충 이렇다. '값' 필드에서 '10 초과'하는 목록만 빈도를 구하려 한다는 것. 이와 유사한 처리를 언제 한번 훑어봤는데... 그런데 추가된 조건이 생각만큼 만만하지 않고, 그 전 수식에 계륵도 많고 해서 수식을 다시 구하면... 집계① 은 조건이 고려되지 않은 상태에서 유일 목록을 구성한 것이다. 그리고 집계② 는 조건이 반영된 유일 목록을 '빈도'순으로 나열한 것이다. g3 셀 (집계① 구분) =INDEX($A$2:$A$20,MATCH(0,COUNTIF(G$2:G2,$A$2:$A$20),0)) j3 셀 (집계② 구분) =IF(SUM(N((FREQUENCY(MATCH($A$2:$A$20,$A$2:$A$20,0),MATCH(..