Re: [算表] SumIF, CountIF, 那MaxIF MinIF勒

看板Office作者 (David)時間17年前 (2007/11/14 03:22), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《Chienning (Chienning)》之銘言: : 軟體: M$ Excel : 版本: 2003可以用, 其他不知道 : 若你不知道SumIF/CountIF, 那下面的內容可能沒啥幫助 XD : 舉個例子來說, 用Excel計帳 : A B C D : 1 06/01 午餐 $45 : 2 06/02 加油 $145 : 3 晚餐 $80 : 4 06/03 早餐 $30 : 5 午餐 $60 : 6 06/05 早餐 $35 : 7 : 想算早餐吃了多少錢, 就可以用SumIF這個函式, : 想算再外面吃了幾次早餐, 就可以用CountIF這個函式 : ex: SumIF(B:B, "早餐", C:C) : 但, 早餐最多吃了多少錢, 就不是那麼容易算出來了, 而M$也沒有提供MaxIF/MinIF : 經過一晚上的研究, 答案就是 MAX(IF(B1:B10000 = "早餐", C1:C10000)) 因為求MAX,且早餐錢都大於0,因此有另一種寫法 {=MAX((B1:B10000 = "早餐")*C1:C10000)} : 輸入後請按 Ctrl-Shift-Enter, 而不是按Enter : 若要算最小值, 請用 Min(IF(B1:B10000 = "早餐", C1:C10000, 999999)) 可簡化為 {=MIN(IF(B1:B10000 = "早餐", C1:C10000))} 用IF不符條件時傳回FALSE 因此不會計入MIN : 後面請填上你不可能用到價錢 : 說明: : IF(B1::B10000 = "早餐", C1:C10000, 999999) : 就是把B1~B10000內的資料和"早餐"比對, 相同則送出C中相對應的格子, : 不同就送出999999 : 由於Excel的限制, 這邊無法使用 IF(B:B = "早餐", C:C, 999999) : 且輸入時要按Ctrl-Shift-Enter : 若這樣還不夠用, 就要考慮使用DCount之類的資料庫指令了 :) : 其實用計帳只是舉例, : 偷懶時用Excel分析實驗結果, 就有機會用到這類指令了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.164.50.184
文章代碼(AID): #17EVbXPa (Office)
文章代碼(AID): #17EVbXPa (Office)