목록MAX (9)
무지개타고

저번에 공백 일시를 구하는 것을 살펴봤는데 이번에는 그 반대인 겹치는 일시를 엑셀로 구해봤다. 간트 차트를 통해 어느 일시에 겹치는지 쉽게 파악되는데 이를 엑셀 수식으로 계산하면... 둘 다 배열수식이다. q4 (시작) =IF(OR(R3="", SUM(IF((MMULT( (TRANSPOSE(($C$3:$C$12-MIN($C$3:$C$12))*1440)

작성된 일정표에서 일정 사이사이에 공백인 시간이 있는지 공백 시간이 있다면 언제부터 언제까지 인지가 궁금한 경우에 이를 찾기 위한 엑셀 수식이다. 간트 차트가 시각적으로 나타내기 유용하니 엑셀로 간트 차트 만드는 방법은 알아서 검색해보기 바라고, 위에 그림에 나오듯 중간중간 일정이 빈 시간이 존재한다. 언제가 일정이 빈, 공백인지 시각적으로는 쉽게 눈에 띄는데 이걸 엑셀 수식으로 찾아내려면 이리저리 궁리를 많이 해야 한다. 가장 손쉬운 방법은 일정 목록에 "묶음"을 나누는 열을 추가하는 것이다. 참고로 여기서 "묶음"은 현재 셀이 이전 셀의 시작과 종료 시간에 위치하면 같은 묶음으로 분류했다. 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..
바로 며칠 전 예제를 바꿔봤다. 문자가 아닌 숫자로. 그리고 연속출현이 아닌 연속 순차 증가로. 원래 이 예제는 엑사모에 올라온 질문인데, 질문이 헷갈리게 작성되서 내 맘대로 바꾼 것이다. 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..
관심이 끌리는 질문이다. 오튜에 올라온 질문인데 내 맘대로 정리하면 대충 이렇다. 시점별로 값이 있는데 전체 합계의 80%를 점유하는 기간(시작~종료)을 알고 싶다는 것. 물론 기간은 짧을 수록 좋다. 그리고 자료는 종 모양으로 분포하고 최고점을 중심으로 한다는 것. 질문이 유용해 보인다. 그래서 허접대마왕(?)이 나가신다. 으~~ㅁ ㅎㅎㅎ 이야기(?) 전개는 대략 세 가지. - 피라미드 - 정규분포 응용 - 이동누적점유율 자료가 종 모양을 이루고, 최고점이 중심이라고 해서 처음 떠올린 이야기는 '피라미드'였다. 그리고 종 모양의 대명사, 정규분포를 응용해 보기로 하고 '정규분포 응용'을 구상했다. 그런데 만일 분포가 일정하지 않다면? 모르긴해도 뭔가 많이 불안한 결과가 나올거 같다. 그래서 시점의 이동..
음... 그닥 반갑지 않다. 그러나 이를 알면서도 블로그까지 찾아와 물어본 심정, 십분 이해는 된다. 그리고 내가 저지른 원죄(?)도 있고... 아는 만큼만 처리해 봤다. 일용직 노동자 임금을 시급으로 계산한단다. 그러나 임금 적용 방식은 너무나 다양해 통일된 처리 방법을 찾긴 어렵다. 따라서 각자 알맞게 적용해야 한다. 그런데 예전에 작성한 예제를 보니... 뭔 생각을 했는지, 아주 제한된 처리만 반영하고 있었다. 즉 경우에 따라 맞고 틀리고... 미친년 널을 뛴다. -_-;; 그래서 다시 구성해 봤다. 이번엔 허접한 재주가 티나지 않았으면 좋겠는데... 근무 조건은 대충 아래와 같다. 정상근무 시간대와 휴식 시간대 및 야근 시간대 그리고 특별수당. 휴식 시간이 왜 정상근무 시간에 포함되지 않는게 관례..
오튜에 올라온 질문인데... 질문 내용이 명확하지 않아 언제나 처럼 내 맘대로 처리해 봤다. 질문은 주어진 범위에서 최대값을 찾고, 최대값을 갖는 셀에 옆에 위치한 셀의 값을 불러오는 것이다. 여기서 엉뚱한 상상력은... a열, b열 둘 중 어느 열에 최대값이 위치해도 그 옆 셀 값을 불러오는 경우로 여겨졌다. d2 셀 (최대값 옆 셀 값) =SUMPRODUCT(MMULT(N(A2:B10=MAX(A2:B10)),{1;1})*MMULT(A2:B10,{1;1}))-MAX(A2:B10) 그런데 위 수식엔 제약이 있다. 참조하는 범위는 두개의 열로 구성되어 있어야 한다는 것. 그리고 최대값은 한번만 나타나야 한다는 것.