목록배열수식 (21)
무지개타고
오튜에 올라온 질문인데.. 두 개의 필드로 구성된 목록을 정리하는게 목적이다. 필드가 하나 일때 보다는 조금 복잡하다. 이는 고급필터 또는 피벗테이블 기능으로 간편하게 구할 수 있다. 그러나 질문자는 기능이 아닌 수식으로 처리하길 바라는데... 자료가 어낙에나 많아 수식으로는 한계가 있는 질문이었다. 이쯤에서 몇번 소개한 구글닥스의 Unique 함수를 보자. 이름 그대로 Unique 함수는 목록 정리용으로 아주 딱이다. 너무나 유용한 함수이기에, 엑셀로 복제해 반영해줬으면 정말 좋겠다. 앞서 질문을 엑셀에서 수식으로 처리하려면 삽질 좀 많이 해야 한다. 위에서 봤듯이 구글닥스에서는 Unique 함수 딱 하나로 끝나는데 말이다. d3 셀 (구분) =IF(SUM(1*(FREQUENCY(MATCH($A$2:$..
구글닥스의 스프레드시트를 보면 재밌는 함수가 더러 있다. ImportHtml 함수도 그중 하나다. 서울엔 25개의 구가 있다. 강북14+강남11. 인터넷으로 검색하니 총 19개 구에서 트위터를 운영하고 있었다. 강북9+강남10. 그러나 각 구청의 트윗 글을 보면... 간혹 민원에 관련 댓글도 보이지만 대부분이 구정 홍보다. 이런 딱딱한 트윗은 재미없는데 말이다. 아무튼... ImportHtml 함수로 각 트위터에 나오는 팔로잉, 팔로어, 리스트 정보를 끌어와 보자. 참고로 작성한 트윗 갯수도 끌어오려 했으나 이는 재주가 딸려 실패했다. ImoprtHtml 함수가 재밌는 것 중 하나는 실시간으로 정보가 갱신된다는 것! 따라서 앞에 소개한 노원구청 트위터의 정보는 아래 처럼 시간이 지남에 따라 차이가 커지게..
더하기 연재가 스무번까지 올 줄이야... 아무튼 더하기는 계속 된다. 지난 번에 다룬 오튜 질문이 좀더 복잡했다. 그래서 이를 다조건 행렬에 반영... 그리하여 나온 결과는... 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이니 이를 적용하면 되겠..
순차적으로 배열된 자료를 갖고, 출현당 상승일 즉 평균 상승일을 구하는 수식을 생각해 봤다. ※ 주의 : 자료 인용에 오류가 있을 수 있습니다. c3 셀 (상승일) =N(B3>B2) d3 셀 (출현) =N(C2C3)*C3 그런데 이 방법이 싫다면? 싫은 이유는 결과를 얻기 위해 다른 열에 계산 결과를 보여줘야 하기 때문이다. 따라서 필요한건 뭐!!! 더하기로 한 방에 끝내자. 그러나 수식이 그닥 맘에 들지 않는다. 다른 방법이 있을거 같은데... -_-a b26 셀 (총상승일) =SUMPRODUCT(N(B2:B221,FREQUENCY(MMULT(1*(((MMULT(((B$2:B$22
엑사모에 올라온 질문이다. 질문은 대충 이렇다. 순차적으로 나열된 자료에서 연속적으로 양수가 출현되는 빈도가 임의의 값 이상인 경우, 이에 해당되는 자료의 평균을 구한다는 것. 역시나 뭔 소린지 모르겠다. -_- 엑셀에서 만들어 본 허접한 수식이다. b25 셀 (연속출현조건을 만족할 때 평균) =AVERAGE(IF(MMULT(1*(((MMULT(((A2:A21>0)=TRANSPOSE(A2:A21>0))*(A2:A21>0)*(ROW(A2:A21)0)=TRANSPOSE(A2:A21>0))*(A2:A21>0)*(ROW(A2:A21)0),ROW(A2:A21)^0)>=B24,A2:A21)) 물론 배열수식이다. 그리고 파이어폭스에서는 수식에 제대로 보여지지 않는다. -_-;; 이를 오픈오피스 캘크에서 Current..
구글닥스의 스프레드시트에서 재미난 함수가 눈에 띄었다. 함수 이름이 Query 다. SQL에서 사용하는 쿼리 보단 기능이 딸리지만, 그래도 신기하다. 언제나 느끼지만 구글의 도움말은 기계로 번역했는지 영~ 아니다. -_- - 함수 : Query 함수 어떤 자료 목록이 있고 이를 집계하는 작업을 진행한다고 하자. 보통 일정한 양식을 구성하고 그에 따라 집계 결과를 보여주게 되는데... 먼저 예제에 사용된 색에 대해 간단한 설명이 필요하겠다. 회색 계열 - 임의로 입력 푸른색 계열 - 함수로 작성 노 랑색 계열 - 결과값을 얻기 위해 함수로 작성 초록색 계열 - 기존에 알고 있던 함수 표제 분홍색 계열 - Query 함수 표제 말이 좀 복잡해 보여도 예제를 보면 안다. 엑셀에서 함수를 이용해 f3:f5 나타..
관심이 끌리는 질문이다. 오튜에 올라온 질문인데 내 맘대로 정리하면 대충 이렇다. 시점별로 값이 있는데 전체 합계의 80%를 점유하는 기간(시작~종료)을 알고 싶다는 것. 물론 기간은 짧을 수록 좋다. 그리고 자료는 종 모양으로 분포하고 최고점을 중심으로 한다는 것. 질문이 유용해 보인다. 그래서 허접대마왕(?)이 나가신다. 으~~ㅁ ㅎㅎㅎ 이야기(?) 전개는 대략 세 가지. - 피라미드 - 정규분포 응용 - 이동누적점유율 자료가 종 모양을 이루고, 최고점이 중심이라고 해서 처음 떠올린 이야기는 '피라미드'였다. 그리고 종 모양의 대명사, 정규분포를 응용해 보기로 하고 '정규분포 응용'을 구상했다. 그런데 만일 분포가 일정하지 않다면? 모르긴해도 뭔가 많이 불안한 결과가 나올거 같다. 그래서 시점의 이동..