與 30萬 粉絲一起學Excel ![]() 以前遇到條件求和問題,經常用SUMPRODUCT解決,不過有一點不好,引用區域太麻煩,不能直接引用整列。 剛好有VIP學員的問題是動態區域統計,也就是說,區域會不斷增加,這時用SUMIFS效果更爽。 1.按月份統計摘要含有關鍵詞轉入服務費的金額 ![]() 先來看個簡單的,月份已經提取出來,也從摘要里面將轉入服務費分開,這樣就變成最原始的多條件求和。=SUMIFS(C:C,A:A,F2,B:B,"轉入服務費") ![]() 語法:跟COUNTIFS差不多,只是多了一個求和區域。=SUMIFS(求和區域,條件區域1,條件1,條件區域2,條件2) 也就是說,需要用函數將日期轉換成月份,TEXT和MONTH都可以。 =TEXT(A2,"m") =MONTH(A2) ![]() 至于分類,可以提取出來,也可以不提取,因為SUMIFS支持通配符,"*轉入服務費*"就是表示包含轉入服務費。=SUMIFS(C:C,D:D,F2,B:B,"*轉入服務費*") ![]() 2.按月份統計收入、支出金額 ![]() 標準日期要提取月份挺簡單的。 =TEXT(A2,"m月份") ![]() 表面看起來像標準的,實際上日期和時間的分隔符號是換行符,標準的應該是空格隔開,就這點小區別。因此需要用SUBSTITUTE將換行符替換成空格,換行符用CHAR(10)。=TEXT(SUBSTITUTE(A2,CHAR(10)," "),"m月份") ![]() 收入匯總: =SUMIFS(C:C,D:D,F2,B:B,"收入") ![]() 支出匯總: =SUMIFS(C:C,D:D,F2,B:B,"支出") 3.當銷售方式為WFS,按月份統計金額,其他的為0 ![]() 兩邊的月份顯示有一點點差別,8月和08月,需要將多余的0去掉才能正常統計。 =SUBSTITUTE(E2,"-0","-") ![]() 再將IF和SUMIFS套進去就可以。=IF(D2="WFS",SUMIFS(B:B,A:A,SUBSTITUTE(E2,"-0","-")),0) ![]() 這是中間步驟,估計學員是兩邊的日期用TEXT沒處理好,才會導致月份有差異。 月份顯示1位:=TEXT(A2,"e-m月份") ![]() 月份顯示2位:=TEXT(A2,"e-mm月份") ![]() m就是1位,mm就是2位。 TEXT說白了,就是構造一個輔助列,方便引用,其他的都是SUMIFS的固定用法,改下區域就行。 |
|