목록rows (18)
무지개타고
엑셀에서 임의의 난수를 무작위로 생성하는 방법은 쉽다. Rand, RandBetween 함수를 사용하면 된다. 로또 번호는 정수니까 RandBetween 함수가 좀 더 편하다. 그런데... RandBetween 함수가 편리한 함수이지만 앞서 생성한 수를 다시 생성할 수도 있다. 이를 통계학에서는 복원추출이라고 한다. 주머니에서 공 하나를 뽑고 그 뽑은 공을 주머니에 돌려 넣고 주머니에서 공 하나를 다시 뽑는 경우다. 그래서 같은 번호가 또 뽑힐수 있다. a2 (복원추출) =RANDBETWEEN(1,45) 그러나 로또는 공을 중복해서 뽑지 않기 때문에 이미 뽑힌 공은 주머니에 다시 넣지 않고 주머니에 남아있는 공에서 새롭게 공을 뽑는다. 이를 통계학에서는 비복원추출이라고 한다. 이를 만족하려면 아래처럼 조..
작성된 일정표에서 일정 사이사이에 공백인 시간이 있는지 공백 시간이 있다면 언제부터 언제까지 인지가 궁금한 경우에 이를 찾기 위한 엑셀 수식이다. 간트 차트가 시각적으로 나타내기 유용하니 엑셀로 간트 차트 만드는 방법은 알아서 검색해보기 바라고, 위에 그림에 나오듯 중간중간 일정이 빈 시간이 존재한다. 언제가 일정이 빈, 공백인지 시각적으로는 쉽게 눈에 띄는데 이걸 엑셀 수식으로 찾아내려면 이리저리 궁리를 많이 해야 한다. 가장 손쉬운 방법은 일정 목록에 "묶음"을 나누는 열을 추가하는 것이다. 참고로 여기서 "묶음"은 현재 셀이 이전 셀의 시작과 종료 시간에 위치하면 같은 묶음으로 분류했다. a3 =IF(SUMPRODUCT((C$2:C2$I4, MIN(IF($A$3:$A$12 =($I4+1), $C$3..
오랜만에 쓰는 더하기 시리즈. 재밌는 질문이다. 질문을 대충 요약하면... 위에서 아래 방향으로 누적합을 구한다. 이때 누적합이 일정 값을 벗어나기 직전에 누적합을 멈추고 어떤 표시를 한다. 그리고 앞서 와 같이 누적합을 다시 진행하는데 이때는 시작 위치가 아래로 옮겨서 누적합을 구한다. 이거 어디서 많이 본 시추에이션인데~ 그래 더하기!!! 이를 정리하면 아래와 같다. 그래서 이리저리 궁리하니 아래처럼 수식이 만들어졌다. 처음에 의도하기는 조건을 만족할 때 해당 순번이 바로 표시되는 것을 생각했는데 수식을 만들다 보니 각각의 순번이 조건을 만족하는 전체 행 위치가 나왔다. (아래 그림에서 F 행렬이다.) 뭐 의도한 것과는 차이가 있지만 나쁘지 않아 보인다. c4 =IFERROR("순번"&MATCH(RO..
심심풀이로 만들어 봤는데 어디 써먹을 곳 없을까? 배열수식이므로 범위를 지정후 Ctrl, Shift, Enter 키를 동시에 누른다. b2:m13 (12x12 행렬) =MOD(ROW(A1:A12)+TRANSPOSE(ROW(A1:A12))+ROWS(A1:A12)-2,ROWS(A1:A12))+1
동네에 벚꽃도 목련도 이쁘게 피고 계절은 좋다만... 어느 재벌기업 1분기 영업이익이 8조 원을 넘었다는 기사에 반응은 "그거 중소기업 피 빨아먹은 거야~" 바로 나온다. 제목에 "따라지"를 보듯 언제 한 번 다룬 내용인데 기존 부서원을 야유회(?) 팀별로 배정하는 것을 생각해 보자. 부서는 가, 나, 다, 라이고 부서별 인원은 서로 다르다. 야유회(?) 팀은 A, B, C이고 야유회(?) 팀별 배정 인원은 서로 다르다. 이정도로는 이전에 다룬 것과 다를 게 없고, 부서별로 야유회(?) 팀 인원을 할당하는 조건을 추가해 봤다. 부서원 각각에 대해 무작위로 야유회(?) 팀을 배치하는데 복습차원에서 이전에 다룬 방법도 같이 적용해 보면... 참고로 모두 배열수식이므로 입력시 Ctrl, Shift, Enter..
명절이 다가왔다. 김도 구웠고, 만두도 빚었고, 다음엔 고구마전을 만들어야 한단다. 차례상에 이것저것 올려놓으려니 덩달아 바빠지는데... 삼겹살에 콜라로 어찌 않되나??? 아래와 같은 판매목록이 있다고 할 때, 고객ID A001, A003은 수량이 부족했는지 추가로 구매해 갔다고 하고 집계를 해보자. 보통은 품목별로 집계하는데 빅데이터 시대(?)에 걸맞게 ID별로도 집계해 보자. 여기서 유일ID 빈도는 중복된 ID를 하나로 처리해 빈도를 구하겠다는 것. f3 셀 (ID*품목별 수량) =SUMPRODUCT(($A$3:$A$22=$E3)*($B$3:$B$22=F$2)*($C$3:$C$22)) f11 셀 (유일ID 빈도) =COUNTIF(F$3:F$10,">0") 그리고 이를 이용해 교차품목별 유일ID 빈도를..
목록이 있다. 개수만큼 항목을 나열하려는데 순차적으로 나열할지, 무작위로 나열할지 당신의 선택은? 아래 수식은 배열수식이므로 입력시 Ctrl+Shift+Enter를 동시에 누를 것. d2 셀 (순차나열) =IF(SUM($B$2:$B$7)>=ROWS(D$1:D1),INDEX($A$2:$A$7,MATCH(0,MMULT(1*(ROW($A$2:$A$7)>TRANSPOSE(ROW($A$2:$A$7))),$B$2:$B$7-COUNTIF(D$1:D1,$A$2:$A$7)),1)),"") e2 셀 (랜덤나열) =IF(SUM($B$2:$B$7)>=ROWS(E$1:E1),INDEX($A$2:$A$7,MATCH(RAND()*(SUM($B$2:$B$7)-ROWS(E$1:E1)+1),MMULT(1*(ROW($A$2:$A$7)>T..
오튜에 이동평균 구하기와 거의 유사한 질문이 올라왔는데, 각각의 순번에서 범위 만큼을 순차적으로 합산해 이동합을 원한다는 것. 일반적인 이동평균/합과 조금 다른 점이라면... 범위가 고정된 값이 아닌, 유동적으로 변할 때 적용 가능한 수식이랄까. 더불어 값이 채워져 있지 않아도 이동합을 계산할것. (이 조건이 필요한 경우가 있을까?) 어쨌든... 이동합을 구해봤다. 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)),"")