목록Program (114)
무지개타고
엑셀에서 임의의 난수를 무작위로 생성하는 방법은 쉽다. Rand, RandBetween 함수를 사용하면 된다. 로또 번호는 정수니까 RandBetween 함수가 좀 더 편하다. 그런데... RandBetween 함수가 편리한 함수이지만 앞서 생성한 수를 다시 생성할 수도 있다. 이를 통계학에서는 복원추출이라고 한다. 주머니에서 공 하나를 뽑고 그 뽑은 공을 주머니에 돌려 넣고 주머니에서 공 하나를 다시 뽑는 경우다. 그래서 같은 번호가 또 뽑힐수 있다. a2 (복원추출) =RANDBETWEEN(1,45) 그러나 로또는 공을 중복해서 뽑지 않기 때문에 이미 뽑힌 공은 주머니에 다시 넣지 않고 주머니에 남아있는 공에서 새롭게 공을 뽑는다. 이를 통계학에서는 비복원추출이라고 한다. 이를 만족하려면 아래처럼 조..
5인치 LG 밴드플레이를 사용 중이었다. 새것도 아니고 중고로. 불만 거의 없었다. 내 용도에 딱 맞는 성능을 보여주었기 때문. 물론 몇몇 아쉬운 점은 기계가 노후되서 배터리가 빨리 닳는다. 안드로이드 버전이 낮아서 기기 호환이 안 되는 어플이 늘어난다. 그럼에도 큰 불만이 없었던 것은 작고 가벼웠기 때문. 그러다가 액정 유리 파손! 사람들이 액정 유리를 왜 깨 먹는지 몰랐는데 이래서 유리가 깨지는구나 하고 깨닫게 되었다. 응급조치로 투명 테이프를 붙여서 사용은 했으나 가급적 빨리 대체제를 구해야겠다. 그리고 찾은... 5.8인치로 그나마 작은 스마트폰, 17만 원 전후로 가격도 싼 갤럭시 a22 sc-56b. 국내용은 아니고 일본 내수용인데 선지자들에 따르면 컨트리락 풀린 거면 국내에서도 사용 가능하단..
커널형은 귀가 아파 이어폰은 오픈형만 이용한다. 그래서 이어폰을 고를 때 선택의 폭이 많이 좁다. 그렇게 버티고 버티다 작년 11월에 QCY M18를 구매하고 대단히 까지는 아니지만 만족하며 사용 중이다. 최근 이어폰 충전 단자가 접촉이 잘 되지 않아서 충전에 신경 써야 한다는 점 빼면. 내 귀에 음질 기준은 젠하이저 MX170 이다. 지금은 단종됐지만, 고장 나면 바꿔 가며 이것만 7년 가량 사용 중이다. 이어폰 솜을 끼우면 저음이 좋아지는 이상한 녀석이다. 아무튼 M18 음질은 다행히 MX170과 비슷했다. 그래서 만족하며 사용 중이다. 한겨울엔 2시간 버티기 힘들고 조잡한 마감에 디자인이지만...
저번에 공백 일시를 구하는 것을 살펴봤는데 이번에는 그 반대인 겹치는 일시를 엑셀로 구해봤다. 간트 차트를 통해 어느 일시에 겹치는지 쉽게 파악되는데 이를 엑셀 수식으로 계산하면... 둘 다 배열수식이다. q4 (시작) =IF(OR(R3="", SUM(IF((MMULT( (TRANSPOSE(($C$3:$C$12-MIN($C$3:$C$12))*1440)
어떤 도형이 있고 또 어떤 점이 있을 때 점이 도형 안에 위치하는지 도형 밖에 위치하는지 그냥 궁금해서 이리저리 궁리를 해보는데 답을 못 찾았다. 도형을 이루는 꼭짓점을 잇는 직선 방정식을 각각 구한 후 점과 비교를 하면 될듯 한데 도형이 복잡하면 다시 말해 직선이 많아지면 점이 각각의 직선에 대해 위 아래 왼편 오른편 어디에 위치하는 지를 정보로 나타내고 하는 것은 너무 복잡해 보여서 엄두가 나지 않아 미루고 미루고 하다가 많이 쉬운 길로 가기로 했다. 즉 검색~ 점과 직선과의 교차점의 X 좌표 위치를 비교하여 그 개수가 홀짝인지를 이용하면 된다는 것을 알게 됐다. 이에 대한 자세한 설명은 아래를 참고하면 된다. -점이 다각형 내부에 있는지 판별하는 함수 점이 다각형 내부에 있는지 판별하는 함수 중요한..
작성된 일정표에서 일정 사이사이에 공백인 시간이 있는지 공백 시간이 있다면 언제부터 언제까지 인지가 궁금한 경우에 이를 찾기 위한 엑셀 수식이다. 간트 차트가 시각적으로 나타내기 유용하니 엑셀로 간트 차트 만드는 방법은 알아서 검색해보기 바라고, 위에 그림에 나오듯 중간중간 일정이 빈 시간이 존재한다. 언제가 일정이 빈, 공백인지 시각적으로는 쉽게 눈에 띄는데 이걸 엑셀 수식으로 찾아내려면 이리저리 궁리를 많이 해야 한다. 가장 손쉬운 방법은 일정 목록에 "묶음"을 나누는 열을 추가하는 것이다. 참고로 여기서 "묶음"은 현재 셀이 이전 셀의 시작과 종료 시간에 위치하면 같은 묶음으로 분류했다. a3 =IF(SUMPRODUCT((C$2:C2$I4, MIN(IF($A$3:$A$12 =($I4+1), $C$3..
근무 시간 계산을 어떻게 했는지 떠오르지 않아 예전 글 찾아보다 좀 더 간편한 방법이 떠올라 개정판(?)을 올린다. 근무 시간을 직접 계산해본 경험이 있다면 계산에 고려사항이 많고 이래저래 복잡하다는 것을 알 텐데... 일단 시간들의 교집합을 찾는 방법으로 Max(0, Min(종료, 퇴근) - Max(시작, 출근)) 정도만 기억하고 시작하자. 참조1 표는 일상적으로 사용하는 표 양식으로 근무 시간은 언제부터 언제까지이고 그 사이 근무 시간에서 제하는 시간은 언제부터 언제까지인지 기재한다. 참조1 표를 참고해서 만든 수식은 주간시간1 이다. d17 (주간시간1, 배열수식) =IF(B17*C17>0, MIN($C$9,(B17>C17)+C17) -MAX($B$9,B17) -SUM( (TRANSPOSE($B$1..
오랜만에 쓰는 더하기 시리즈. 재밌는 질문이다. 질문을 대충 요약하면... 위에서 아래 방향으로 누적합을 구한다. 이때 누적합이 일정 값을 벗어나기 직전에 누적합을 멈추고 어떤 표시를 한다. 그리고 앞서 와 같이 누적합을 다시 진행하는데 이때는 시작 위치가 아래로 옮겨서 누적합을 구한다. 이거 어디서 많이 본 시추에이션인데~ 그래 더하기!!! 이를 정리하면 아래와 같다. 그래서 이리저리 궁리하니 아래처럼 수식이 만들어졌다. 처음에 의도하기는 조건을 만족할 때 해당 순번이 바로 표시되는 것을 생각했는데 수식을 만들다 보니 각각의 순번이 조건을 만족하는 전체 행 위치가 나왔다. (아래 그림에서 F 행렬이다.) 뭐 의도한 것과는 차이가 있지만 나쁘지 않아 보인다. c4 =IFERROR("순번"&MATCH(RO..