목록If (35)
무지개타고
오튜에 올라온 질문인데.. 두 개의 필드로 구성된 목록을 정리하는게 목적이다. 필드가 하나 일때 보다는 조금 복잡하다. 이는 고급필터 또는 피벗테이블 기능으로 간편하게 구할 수 있다. 그러나 질문자는 기능이 아닌 수식으로 처리하길 바라는데... 자료가 어낙에나 많아 수식으로는 한계가 있는 질문이었다. 이쯤에서 몇번 소개한 구글닥스의 Unique 함수를 보자. 이름 그대로 Unique 함수는 목록 정리용으로 아주 딱이다. 너무나 유용한 함수이기에, 엑셀로 복제해 반영해줬으면 정말 좋겠다. 앞서 질문을 엑셀에서 수식으로 처리하려면 삽질 좀 많이 해야 한다. 위에서 봤듯이 구글닥스에서는 Unique 함수 딱 하나로 끝나는데 말이다. d3 셀 (구분) =IF(SUM(1*(FREQUENCY(MATCH($A$2:$..
오튜에 이동평균 구하기와 거의 유사한 질문이 올라왔는데, 각각의 순번에서 범위 만큼을 순차적으로 합산해 이동합을 원한다는 것. 일반적인 이동평균/합과 조금 다른 점이라면... 범위가 고정된 값이 아닌, 유동적으로 변할 때 적용 가능한 수식이랄까. 더불어 값이 채워져 있지 않아도 이동합을 계산할것. (이 조건이 필요한 경우가 있을까?) 어쨌든... 이동합을 구해봤다. c3 셀 (이동합) =IF($C$1+ROWS($B$3:$B$12)>=ROW($B2),SUM(OFFSET($B3,-MIN(ROWS($B$3:$B3),$C$1)+1,0,MIN(ROWS($B$3:$B3),$C$1),1)),"")
구글닥스의 스프레드시트를 보면 재밌는 함수가 더러 있다. ImportHtml 함수도 그중 하나다. 서울엔 25개의 구가 있다. 강북14+강남11. 인터넷으로 검색하니 총 19개 구에서 트위터를 운영하고 있었다. 강북9+강남10. 그러나 각 구청의 트윗 글을 보면... 간혹 민원에 관련 댓글도 보이지만 대부분이 구정 홍보다. 이런 딱딱한 트윗은 재미없는데 말이다. 아무튼... ImportHtml 함수로 각 트위터에 나오는 팔로잉, 팔로어, 리스트 정보를 끌어와 보자. 참고로 작성한 트윗 갯수도 끌어오려 했으나 이는 재주가 딸려 실패했다. ImoprtHtml 함수가 재밌는 것 중 하나는 실시간으로 정보가 갱신된다는 것! 따라서 앞에 소개한 노원구청 트위터의 정보는 아래 처럼 시간이 지남에 따라 차이가 커지게..
오튜에 흥미로운 질문이 올라왔는데... 언제나처럼 내 맘대로 정리를 해봤다. 질문은 대충 그랬다. 항목별 제시된 조건에 따라 각각의 점수를 구분짓고, 이를 종합해 최종 판정을 하겠다는 것. 그런데 제시된 조건이 많이 까탈스럽다. 그나마 부등호가 "미만"과 "이상"으로 일정하다는게 다행이랄까... 음... 어쩐담? 땡기긴 땡기는데... 그래서 조금 변형된 다조건 행렬을 구성했다. 제시된 조건을 "미만"이 기준값이 되게 먼저 입력하고, 행렬틀에 맞춰 빈 자리는 앞 조건에 제시된 값으로 채우고, 맨 우측 범위(최대값)가 지정되지 않은 경우는 임의로 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..
엑사모에 올라온 질문에 고슈님께서 답변 하셨다. 사용자 정의 함수로 작성해서. 음... 수식으론 어렵겠다. 만일 구글닥스의 스프레드시트에선? Split/Unique 함수가 있는데... 질문은 대충 이렇다. 셀 안에 문자 또는 숫자가 입력되어 있다. 단 중간중간에 빈 공간(space," ")이 들어가 있다. 이렇게 두 개 셀을 서로 비교해 같은 문자 또는 숫자를 찾아내기다. 역시나 조선말은 어렵다. 내가 쓰면... -_- A, B 두 방식을 생각해 봤는데... 각각 문제점을 안고 있다. d2 셀 (A 방식) =ArrayFormula(transpose(sort(unique(if(mmult(n(transpose(split(B2," "))=split(C2," ")), row(indirect("a1:a"&colu..
관심이 끌리는 질문이다. 오튜에 올라온 질문인데 내 맘대로 정리하면 대충 이렇다. 시점별로 값이 있는데 전체 합계의 80%를 점유하는 기간(시작~종료)을 알고 싶다는 것. 물론 기간은 짧을 수록 좋다. 그리고 자료는 종 모양으로 분포하고 최고점을 중심으로 한다는 것. 질문이 유용해 보인다. 그래서 허접대마왕(?)이 나가신다. 으~~ㅁ ㅎㅎㅎ 이야기(?) 전개는 대략 세 가지. - 피라미드 - 정규분포 응용 - 이동누적점유율 자료가 종 모양을 이루고, 최고점이 중심이라고 해서 처음 떠올린 이야기는 '피라미드'였다. 그리고 종 모양의 대명사, 정규분포를 응용해 보기로 하고 '정규분포 응용'을 구상했다. 그런데 만일 분포가 일정하지 않다면? 모르긴해도 뭔가 많이 불안한 결과가 나올거 같다. 그래서 시점의 이동..