發布時間:2025-03-14 文章來源:xp下載站 瀏覽:
辦公軟件是指可以進行文字處理、表格制作、幻燈片制作、圖形圖像處理、簡單數據庫的處理等方面工作的軟件。目前辦公軟件朝著操作簡單化,功能細化等方向發展。辦公軟件的應用范圍很廣,大到社會統計,小到會議記錄,數字化的辦公,離不開辦公軟件的鼎力協助。另外,政府用的電子政務,稅務用的稅務系統,企業用的協同辦公軟件,這些都屬于辦公軟件。 在 Excel 中,按年、月、日和周分類匯總用數據透視表比較簡單方便,進行簡單的設置就可以返回它們的匯總結果;按年、月和日匯總可以直接顯示它們,但按周匯總只能用日期表示周;而用公式匯總可以實現把屬于每周的日期轉為第幾周。 用公式實現按年、月和周分類匯總,主要用 Sum、SumIfs、SumProduct、Value、WeekNum、Date、Row 和 Text 等函數,例如按年和月匯總用前四個函數,而按周匯總復雜一些,需要用 Sum(或 SumProduct) + Value + WeekNum + Row 實現。 一、Excel 分類匯總用數據透視表匯總(一)按年和月匯總 1、創建數據透視表。選中表格其中一個單元格,選擇“插入”選項卡,單擊屏幕左上角的“數據透視表”,打開“創建數據透視表”窗口,保持默認設置,單擊“確定”,則在新工作表創建一個數據透視表;勾選字段“服裝名稱、日期和營業額”,已經自動按“年”匯總好了每種衣服的營業額;操作過程步驟,如圖1所示: 圖1 2、按月匯總。選中其中一個年份的單元格(如 A5),選擇“分析”選項卡,單擊“組字節”,打開“組合”窗口,“步長”僅選擇“年和月”(單擊“季度”取消選擇),單擊“確定”,則按年和月匯總出了每種服裝的營業額;如果年份要顯示到列,把“年”從“行區間”拖到“列區間”;操作過程步驟,如圖2所示: 圖2 (二)按周匯總 1、以把上例的按年和月分類匯總改為按周為例。選中年份的其中一個單元格(如 B4),選擇“分析”選項卡,單擊“組字節”,打開“組合”窗口,把“起始于”由 2018/11/1 改為 2018/10/29,單擊“步長”下的“年和月”取消選擇,單擊“日”選中它,“天數”由灰色變為可選,把 1 改為 7,單擊“確定”,則每件衣服按“周”匯總;操作過程步驟,如圖3所示: 圖3 2、“起始于”自動填入的日期 2018/11/1 是表格的起始日期,但不是周一,因此要把它改為“周一”的日期 2018/10/29,這樣就能實現按周匯總。 (三)對匯總結果排序 1、對不同服裝的營業額按“周”排序。右鍵其中一件衣服的營業額,如 B5,在彈出的菜單中,依次選擇“排序”→ 升序,則每件衣服每周的營業額都按“升序”排列;操作過程步驟,如圖4所示: 圖4 2、對每件衣服的“營業額”按“升序”排序。右鍵任意一件衣服的匯總營業額,如 B4,在彈出的菜單中,同樣依次選擇“排序”→ 升序,則每件衣服按“營業額”升序排列,每件衣服的周營業額也隨之排序;操作過程步驟,如圖5所示: 圖5 有關更多數據透視表的操作,請參考《Excel數據透視表怎么做的15個操作方法,含非重復計數和百分比統計及四個區域間的用途》、《Excel數據透視表自動生成分頁報表和把日報表合成月報表及顯示報表篩選頁為灰色的解決辦法》和《Excel多重合并計算數據區域用于合并多個表格到數據透視表,含把地區和城市的銷量與營業額用多頁字段合并》。 二、Excel 分類匯總用公式(一)按年匯總 1、假如要匯總各種服裝每年的營業額。雙擊 F2 單元格,把公式 =SUM(($A$2:$A$25=F$1)*(YEAR($B$2:$B$25)=$E2)*$C$2:$C$25) 復制到F2,按 Ctrl + Shift + 回車,返回“羽絨服”2018 年的營業額 21232;把鼠標移到 F2 右下角的單元格填充柄上,鼠標變為黑色加號后,按住左鍵,往右拖,一直拖到 I2,則匯總出剩余服裝 2018 年的營業額;再把鼠標移到 I2 右下角的單元格填充柄上,同樣方法往下拖,則匯總出 2019 年各種服裝的營業額;操作過程步驟,如圖6所示: 圖6 2、公式 =SUM(($A$2:$A$25=F$1)*(YEAR($B$2:$B$25)=$E2)*$C$2:$C$25) 說明: A、$A$2 表示對列和行都絕對引用,當往右拖時,A2 不會變為 B2、C2 等;當往下拖時,A2 不會變為 A3、A4 等,其它的有兩個 $ 的與$A$2 是一個意思。 B、$A$2:$A$25 以數組形式返回 A2 至 A25 的“服裝名稱”,之所以 A2 和 A25 都用絕對引用,是要確保往右或往下拖時,始終返回A2:A25 中的“服裝名稱”。 C、$A$2:$A$25=F$1 為 Sum 的第一個條件,意思是把 A2:A25 中的每種“服裝名稱”與 F1 中的“羽絨服”比較,如果相等,返回 True,否則返回 False;第一次取 A2(即“羽絨服”),它們相等,返回 True;第二次取 A3(即“風衣”),它們不相等,返回 False;其它的以此類推,最后返回數組 {TRUE;FALSE;FALSE;...;FALSE;FALSE;TRUE}。 D、$B$2:$B$25 以數組形式返回 B2 至 B25 的日期。YEAR($B$2:$B$25) 用于取 B2:B25 日期中的年份;第一次取 B2(即 2018/11/1),YEAR(B2) 返回 2018;第二次取 B3(即 2018/11/2),YEAR(B3) 返回 2018;其它的以此類推,最后返回 {2018;2018;2018;...;2019;2019;2019}。 E、E2 中的值為 2018,YEAR($B$2:$B$25)=$E2 變為 {2018;2018;...;2019}=2018,然后依次從數組中取出每個元素與 2018 比較,如果相等,返回 True,否則返回 False,最后返回 {TRUE;TRUE;TRUE;...;FALSE;FALSE;FALSE}。 F、則公式變為 =SUM({TRUE;FALSE;FALSE;...;FALSE;FALSE;TRUE}*{TRUE;TRUE;TRUE;...;FALSE;FALSE;FALSE}*$C$2:$C$25),接著,把兩個數組中對應元素相乘,相乘時,TRUE被轉為 1、FALSE 被轉為 0,則公式變為 =SUM({1;0;0;...;0;0;0}*$C$2:$C$25)。 G、$C$2:$C$25 為求和區域,它以數組形式返回 C2:C25 中的營業額,即返回 {5221;5202;4622;...;5889;5198;5299}。 H、公式進一步變為 =SUM({1;0;0;...;0;0;0}*{5221;5202;4622;...;5889;5198;5299}),接著再把兩個數組對應元素相乘,公式變為=SUM({5221;0;0;...;0;0;0}),最后對數組求和,結果為 21232。 提示:上面的公式也可以用 SumIfs、SumProduct 等函數實現,用這兩個函數不需按“Ctrl + Shift + 回車”求值,只需按回車即可,之所以用 Sum 要按“Ctrl + Shift + 回車”,是因為公式為數組公式。把上面的公式改為用 SumProduct 實現,可以這樣寫: =SUMPRODUCT(($A$2:$A$25=F$1)*(YEAR($B$2:$B$25)=$E2)*$C$2:$C$25),用 SumIfs 實現見下面的按月匯總。 (二)按月匯總 1、以匯總每種服裝每年每月的營業額為例。雙擊 G2 單元格,把公式 =SUM(($A$2:$A$25=G$1)*(YEAR($B$2:$B$25)=$E$2)*(MONTH($B$2:$B$25)=--SUBSTITUTE($F2,"月",""))*$C$2:$C$25) 復制到 G2,按 Ctrl + Shift + 回車,返回“羽絨服”2018 年 11 月的營業額;同樣用往右的方法,返回 2018 年 11 月其它服裝的營業額,用往下拖的方法返回每種服裝 2018 年剩余月份的營業額;操作過程步驟,如圖7所示: 圖7 2、公式 =SUM(($A$2:$A$25=G$1)*(YEAR($B$2:$B$25)=$E$2)*(MONTH($B$2:$B$25)=--SUBSTITUTE($F2,"月",""))*$C$2:$C$25) 說明: A、公式與上面的“按年匯總”是一個意思,這里只是多加了一個“年份”的條件 YEAR($B$2:$B$25)=$E$2 和用 Substitute 函數取代月份中的“月”字,以獲取數字用于計算。 B、--SUBSTITUTE($F2,"月","") 的意思是:用空 "" 取代 F2 中“11月”的“月”字,它返回文本 "11",再用 -- 把 "11" 轉為數值 11。 3、以上公式也可以用 SumIfs 和 SumProduct 函數實現,它們的寫法如下: =SUMPRODUCT(($A$2:$A$25=G$1)*(YEAR($B$2:$B$25)=$E$2)*(MONTH($B$2:$B$25)=--SUBSTITUTE($F2,"月",""))*$C$2:$C$25) =SUMIFS($C$2:$C$25,$A$2:$A$25,G$1,$B$2:$B$25,">="&DATE($E$2,SUBSTITUTE($F2,"月",""),0)+1,$B$2:$B$25,"<="&DATE($E$2,SUBSTITUTE($F2,"月","")+1,0)) 這兩個公式直接按回車即可。SumProduct 公式與 Sum 公式是一個意思,不再解析,下面只解析 SumIfs 公式: A、$C$2:$C$25 為求和區域;$A$2:$A$25,G$1 為第一個條件區域/條件對,$A$2:$A$25 為條件區域,G$1 為條件,意思是:在 A2:A25 中查找 G1 中的“羽絨服”。 B、$B$2:$B$25,">="&DATE($E$2,SUBSTITUTE($F2,"月",""),0)+1 為第二個條件區域/條件對,用于在 B2:B25 中查找大于等于 2018/11/1 的所有日期;SUBSTITUTE($F2,"月","") 用于用空 "" 取代 F2 中“11月”的“月”字,它返回文本 "11"; E2 為 2018,則 ">="&DATE($E$2,SUBSTITUTE($F2,"月",""),0)+1 變為 ">="&DATE(2018,"11",0)+1,接著 Date 函數把 "11" 轉為數值 11,并返回 2018 年 11 月 0 天表示的序號 43404; 則 ">="&DATE(2018,"11",0)+1 變為 ">="&43404+1,再用 & 把 ">=" 與 43405 連接起來,即 ">=43405",意思是大于等于 11 月的第一天,因為 2018 年 11 月的第 0 天為 2018 年 10 月 31 日,再加 1,恰好是 2018年 11 月 1 日。 C、$B$2:$B$25,"<="&DATE($E$2,SUBSTITUTE($F2,"月","")+1,0) 為第三個條件區域/條件對,與第二個條件區域/條件對是一個意思,用于在 B2:B25 中查找小于等于 2018/11/30 的所日期; SUBSTITUTE($F2,"月","") 返回 "11",DATE($E$2,SUBSTITUTE($F2,"月","")+1,0) 變為 DATE(2018,"11"+1,0),進一步計算變為 DATE(2018,12,0),意思是 2018 年 12 月第 0 天,即 2018 年 11 月 30 日。 D、則公式變為 =SUMIFS($C$2:$C$25,$A$2:$A$25,G$1,$B$2:$B$25,">=2018/11/1",$B$2:$B$25,"<=2018/11/30"),意思是:匯總 A2:A25中為“羽絨服”與“日期”大于等于 2018/11/1 且小于等于 2018/11/30 的所有營業額。 (三)按周匯總 1、假如要把 11 月各種服裝的營業額按周匯總。把 11 月第一天的日期 2018/11/1 輸入到 E1 單元格,雙擊 E2,把公式 =TEXT(WEEKNUM(E$1 + 7*(ROW(A1)-1),2)-WEEKNUM(--TEXT(E$1,"e-m"),2)+1,"第[dbnum1]0周") 復制到 E2,按回車,返回 11 月第一周;把鼠標移到 E2 右下角的單元格填充柄上,用往下拖的方法返回 11 月剩余的周數;雙擊 F2,把公式 =SUM((WEEKNUM(--B$2:B$17,2)=WEEKNUM(E$1+7*(ROW(A1)-1),2))*C$2:C$17) 復制到 F2,按 Ctrl + Shift + 回車,返回 11 月第一周的營業額,同樣用往下拖的辦法返回剩余周的營業額;操作過程步驟,如圖8所示: 圖8 2、公式說明: (1)=TEXT(WEEKNUM(E$1 + 7*(ROW(A1)-1),2)-WEEKNUM(--TEXT(E$1,"e-m"),2)+1,"第[dbnum1]0周") A、ROW(A1) 用于 返回 A1 的行號 1,7*(ROW(A1)-1 用于實現每往下拖一個單元格,日期累加到下一周;當公式在 E2 時,7*(1-1)=0,當公式在 E3 時,A1 變 A2,ROW(A2) 返回 2,7*(2-1)=7;其它的以此類推。 B、WEEKNUM(E$1 + 7*(ROW(A1)-1),2) 用于返回指定日期在一年中是第幾周,E$1 + 7*(ROW(A1)-1) 為日期,參數 2 表示以“周一”為每周的第一天; 以公式在 E2 為例:E1 為 2018/11/1,7*(ROW(A1)-1) 返回 0,則 WEEKNUM(E$1 + 7*(ROW(A1)-1),2) 變 WEEKNUM(E$1 + 0,2),它返回44,即 2018/11/1 是一年中的第 44 周。 C、e-m 表示以年月顯示日期,e 表示年,相當于 yyyy;m 表示月,相當 mm;e 和 m 的位置可以調換;TEXT(E$1,"e-m") 表示以年月返回 E1 中的 2018/11/1,即返回 "2018-11";--"2018-11" 中 -- 表示把文本轉為日期,它相當于 Value 函數。 D、則 WEEKNUM(--TEXT(E$1,"e-m"),2) 變為 WEEKNUM(--"2018-11",2),進一步計算返回 44。 E、"第[dbnum1]0周" 用于返回漢字表示的第幾周,dbnum1 表示把數字轉為漢字,0 表示把 [dbnum1] 顯示為數字。另外,dbnum2 表示把數字轉為大寫漢字。 F、則公式變為 =TEXT(44-44+1,"第[dbnum1]0周"),進一步計算返回“第一周”;當公式在 E3 是,公式變為 =TEXT(45-44+1,"第[dbnum1]0周"),返回“第二周”,其它的以此類推。 (2)=SUM((WEEKNUM(--B$2:B$17,2)=WEEKNUM(E$1+7*(ROW(A1)-1),2))*C$2:C$17) A、WEEKNUM(--B$2:B$17,2) 用于以數組形式返回 B2:B17 的日期在一年中是第幾周;第一次取出 B2(即 2018/11/1),WEEKNUM(--B2,2),返回 44;第二次取出 B3(即 2018/11/2),WEEKNUM(--B3,2),返回 44;其它的以此類推,最后返回{44;44;44;44;45;45;45;45;45;45;46;46;46;46;46;46}。 B、WEEKNUM(E$1+7*(ROW(A1)-1) 上面已經解釋過,當公式在 F2 時,它返回 44;當公式在 F3 時,它返回 45。 C、則公式變為 =SUM(({44;44;44;44;45;45;45;45;45;45;46;46;46;46;46;46}=44)*C$2:C$17),接著把數組中的每個元素與 44 比較,如果相等返回 True,否則返回 False。 D、則公式變為 =SUM({TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}*C$2:C$17),進一步計算,把 C2:C17 中的每個數值與數組中的對應元素相乘,相乘時,TRUE 和 FALSE 的取值,上面已經解釋。 E、公式進一步變為 =SUM({5221;5202;4622;5140;0;0;0;0;0;0;0;0;0;0;0;0}),最后對數組求和,最后返回 20185。 F、當公式在 F3 時,公式變為 =SUM(({44;44;44;44;45;45;45;45;45;45;46;46;46;46;46;46}=45)*C$2:C$17),恰好是數組中所有為 45 的返回 True,也就是對第二周的營業額求和。 另外,Sum 公式可以改為用 SumProduct 實現,公式可以這樣寫:=SUMPRODUCT((WEEKNUM(--B$2:B$17,2)=WEEKNUM(E$1+7*(ROW(A1)-1),2))*C$2:C$17)。 Office辦公軟件是辦公的第一選擇,這個地球人都知道。 |