[算表] 如何自一列儲存格中選取數字做運算?

看板Office作者 (lain)時間12年前 (2013/07/06 22:56), 編輯推噓1(105)
留言6則, 1人參與, 最新討論串1/1
軟體:EXCEL 版本:2003~2010 表格如下 日期 4/3 4/10 4/21 4/29 5/3 5/12 加班時間 一組 35 一組 12 一組 34 這是我要設計來計算公司加班薪水的表格 其中"一組"加班費為400元(我們公司的加班算法很奇特,請見諒) 數字的部份代表分鐘,但是前15分鐘並不算是加班,15分鐘後每15分鐘30元 我現在要製作的表格遇到的問題是 當我現在要計算4月份加班費的時候 要先辨別出日期為4月,然後加班時間那列為數字, 然後(35-15)/15無條件進位=2 + 12<15不計加班費 共2*30元 以及4月份共加班2組=800元 共計860元 我現在的寫法是這樣 IF(SUMPRODUCT((MONTH(全年出勤紀錄表!$F4:$IU4)=月份)*(ISNUMBER(全年出勤紀錄表! $F5:$IU5))*(全年出勤紀錄表!$F5:$IU5>15)),SUM(ROUNDUP((全年出勤紀錄表!$F5:$IU5 -15)/15,0)*($J$29),$D3*$R$30),0) 但是他跑出來的結果卻是770 如果把SUM函數拿掉,只算ROUNDUP的部份,算出來竟是-1 於是EXCEL判別函數的算法=-1*30+2*400 讓我十分困惑,搞不清楚哪裡出問題 拜託請高手解惑,謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 116.59.231.132

07/09 00:22, , 1F
沒有檔案不好判斷,但乍看之下是因為你沒有用陣列公式
07/09 00:22, 1F

07/09 00:22, , 2F
的方式鍵入(CTRL+SHIFT+ENTER),因此excel只算第一個值
07/09 00:22, 2F

07/09 00:23, , 3F
但是要用陣列公式的話,不需要加sumproduct
07/09 00:23, 3F

07/09 00:31, , 4F
試試=SUM(IF(MONTH(全年出勤紀錄表!$F5:$IU5)=月份,IF(
07/09 00:31, 4F

07/09 00:31, , 5F
全年出勤紀錄表!$F5:$IU5>15,ROUNDUP((全年出勤紀錄表
07/09 00:31, 5F

07/09 00:31, , 6F
!$F5:$IU5-15)/15,0)*($J$29),$D3*$R$30),0)) 三鍵輸入
07/09 00:31, 6F
文章代碼(AID): #1Hs30gAm (Office)
文章代碼(AID): #1Hs30gAm (Office)