목록sum (31)
무지개타고

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

어떤 도형이 있고 또 어떤 점이 있을 때 점이 도형 안에 위치하는지 도형 밖에 위치하는지 그냥 궁금해서 이리저리 궁리를 해보는데 답을 못 찾았다. 도형을 이루는 꼭짓점을 잇는 직선 방정식을 각각 구한 후 점과 비교를 하면 될듯 한데 도형이 복잡하면 다시 말해 직선이 많아지면 점이 각각의 직선에 대해 위 아래 왼편 오른편 어디에 위치하는 지를 정보로 나타내고 하는 것은 너무 복잡해 보여서 엄두가 나지 않아 미루고 미루고 하다가 많이 쉬운 길로 가기로 했다. 즉 검색~ 점과 직선과의 교차점의 X 좌표 위치를 비교하여 그 개수가 홀짝인지를 이용하면 된다는 것을 알게 됐다. 이에 대한 자세한 설명은 아래를 참고하면 된다. -점이 다각형 내부에 있는지 판별하는 함수 점이 다각형 내부에 있는지 판별하는 함수 중요한..

근무 시간 계산을 어떻게 했는지 떠오르지 않아 예전 글 찾아보다 좀 더 간편한 방법이 떠올라 개정판(?)을 올린다. 근무 시간을 직접 계산해본 경험이 있다면 계산에 고려사항이 많고 이래저래 복잡하다는 것을 알 텐데... 일단 시간들의 교집합을 찾는 방법으로 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..
구간에 따라 요금을 달리하는 누진제(또는 역진제) 계산 때문에 애먹는 이들에게 희소식! 어떻게?나를 따르라~~~ 대표적인 누진제인 전기요금을 참고하자. 요금 계산을 위해 기억할 것은 무엇?'작은 값' b9 작은값1=IF($B$1>A9,A9,$B$1) 사용량과 범위1에 적용된 값 중 작은 값을 선택하고,사용량과 범위2에 적용된 값 중 작은 값을 선택해 그 차이를 구한다.그러기 위해서 범위를 효과적으로 구축해야 한다. 참고로 엑셀 도움말에 따르면 '셀에 입력할 수 있는 가장 큰 수'는 9.99999999999999E+307 라고 한다.뭐 적당히 큰 수를 a11에 입력하면 된다. 수많은 사용량을 계산할 때마다 위에 방식을 적용하기는 싫고 그렇다면... 좀 더 함축된 수식이 필요하게 된다.어떻게?배열수식으로~~..
'따라지'라는 말을 오랫만에 쓰는데, 어릴적 동네에 다니는 버스 번호중에 235가 있었고, 235-1 이 있었다. 이 두 버스의 번호는 비슷해 보이지만 방향은 거의 반대 방향인 노선이었고, 235-1을 우린 235-따라지 라고 부르곤 했다. 서울에 홍수 날 정도로 비가 쏟아지던 어느날 235를 탔는데 엥? 여기가 어디여? 우산들고 우왕좌왕하는 사이에 앞자리 숫자만 보고 235인줄 알았건만 실상은 따라지... 지난 번에 선입선출을 알아봤다. 여기에 품목이라는 변수를 집어넣어 금액을 구하는 따라지를 검토해보자. 정수용(?) 배열수식인 금액1. g3 셀 (금액1) =IF(OR($F3=0,SUMIF($B$3:$B3,$B3,$C$3:$C3)TRANSPOSE(ROW($C$3:$C3))),($B$3:$B3=$B3)*..
익히 해오던 수식 갖고 앞뒤만 조금 조정해주면 되는 것이었는데 이를 못해서 십수년을 숙제로 담고 살았다. 에휴... 선입선출(FIFO)을 살펴보자. 단가 = 금액 ÷ 수량 인데, 입고량과 출고량이 딱딱 맞으면 좋으련만 현실은 그게 아닌지라. f3 셀(금액1) =IF(OR($E3=0,SUM($B$3:$B3)TRANSPOSE(ROW($B$3:$B3))),$B$3:$B3)=TRANSPOSE(ROW($B$3:$B3))),$B$3:$B3),MMULT(1*(ROW($B$3:$B3)>=TRANSPOSE(ROW($B$3:$B3))),$B$3:$B3),SUM($E$3:$E3))-IF(SUM($E$3:$E3)>MMULT(1*(ROW($B$3:$B3)>TRANSPOSE(ROW($B$3:$B3))),$B$3:$B3),MMUL..
명절이 다가왔다. 김도 구웠고, 만두도 빚었고, 다음엔 고구마전을 만들어야 한단다. 차례상에 이것저것 올려놓으려니 덩달아 바빠지는데... 삼겹살에 콜라로 어찌 않되나??? 아래와 같은 판매목록이 있다고 할 때, 고객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 키를 동시에 눌러야 한다. c29 셀 =SUM((TRANSPOSE($B$4:$B$8)=$B$12:$B$16)*MMULT(1*ISNUMBER(MATCH($C$12:$D$16,IF(MMULT(1*($C$20:$D$25=$B29),TRANSPOSE(COLUMN($C$20:$D$25)^0))>0,$B$20:$B$25),0..