版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、excel中自定義函數(shù)實例剖析 2008-04-04 21:17Excel內(nèi)置的函數(shù)并不一定總是能滿足我們的需求,這時,就可以通過定義自己的函數(shù)來解決問題 稍有Excel使用經(jīng)驗的朋友,都知道Excel內(nèi)置函數(shù)的快捷與方便,它大大增強了Excel數(shù)據(jù)計算與分析的能力。不過內(nèi)置的函數(shù)并不一定總是能滿足我們的需求,這時,就可以通過定義自己的函數(shù)來解決問題。文章末尾提供.xls文件供大家下載參考。一、認(rèn)識VBA 在介紹自定義函數(shù)的具體使用之前,不得不先介紹一下VBA,原因很簡單,自定義函數(shù)就是用它創(chuàng)建的。VBA的全稱是Visual Basic for Application,它是微軟最好的通用應(yīng)用程
2、序腳本編程語言,它的特點是容易上手,而且功能非常強大。在微軟所有的Office組件中,如Word、Access、Powerpoint等等都包含VBA,如果你能在一種Office組件中熟練使用VBA,那么在其它組件中使用VBA的原理是相通的。Excel中VBA主要有兩個用途,一是使電子表格的任務(wù)自動化;二是可以用它創(chuàng)建用于工作表公式的自定義函數(shù)。由此可見,使用Excel自定義函數(shù)的一個前提條件是對VBA基礎(chǔ)知識有所了解,如果讀者朋友有使用Visual Basic編程語言的經(jīng)驗,那么使用VBA時會感覺有很多相似之處。如果讀者朋友完全是一個新手,也不必太擔(dān)心,因為實際的操作和運用是很簡單的。二、什么
3、時候使用自定義函數(shù)? 有些初學(xué)Excel的朋友可能有這樣疑問:Excel已經(jīng)內(nèi)置了這么多函數(shù),我還有必要創(chuàng)建自己的函數(shù)嗎?回答是肯定的。原因有兩個,它們也正好可以解釋什么時候使用Excel自定義函數(shù)的問題。第一,自定義函數(shù)可以簡化我們的工作。有些工作,我們的確可以在公式中組合使用Excel內(nèi)置的函數(shù)來完成任務(wù),但是這樣做的一個明顯缺點是,我們的公式可能太冗長、繁瑣,可讀性很差,不易于管理,除了自己之外別人可能很難理解。這時,我們可以通過使用自定義函數(shù)來簡化自己的工作。第二,自定義函數(shù)可以滿足我們個性化的需要,可以使我們的公式具有更強大和靈活的功能。 實際工作的要求千變?nèi)f化,僅使用Excel內(nèi)置
4、函數(shù)常常不能圓滿地解決問題,這時,我們就可以使用自定義函數(shù)來滿足實際工作中的個性化需求。上面的講述比較抽象,我們還是把重點放在實際例子的剖析上,請大家在實際例子中進(jìn)一步體會,進(jìn)而學(xué)會在Excel中創(chuàng)建和使用自定義函數(shù)。三、自定義函數(shù)實例剖析 下面我們通過兩個典型實例,學(xué)習(xí)自定義函數(shù)使用的全過程。這里實際上假設(shè)讀者朋友都有一定的VBA基礎(chǔ)。假如你完全沒有VBA基礎(chǔ)也不要緊,當(dāng)學(xué)習(xí)完實例后,若覺得自定義函數(shù)在自己以后的工作中可能用到,那么再去補充相應(yīng)的VBA基礎(chǔ)也不遲。(一) 計算個人調(diào)節(jié)稅的自定義函數(shù) 任務(wù)假設(shè)個人調(diào)節(jié)稅的收繳標(biāo)準(zhǔn)是:工資小于等于800元的免征調(diào)節(jié)稅,工資800元以上至1500元
5、的超過部分按5的稅率征收,1500元以上至2000元的超過部分按8的稅率征收,高于2000元的超過部分按20的稅率征收。分析假設(shè)Sheet1工作表的A、B、C、D列中分別存放“姓名”、“總工資”、“調(diào)節(jié)稅”、“稅后工資”字段數(shù)據(jù),如圖1所示。圖 1 平時使用較多的方法是借助嵌套使用IF函數(shù)計算,比如在C2單元格輸入公式“=IF(B2<=800,0,IF(B2<=1500,(B2-800)*0.05,IF(B2<=2000,700*0.05+(B2-1500)*0.08,700*0.05+500*0.08+(B2-2000)*0.2)”,然后通過填充柄復(fù)制公式到C列的其余單元格
6、。既然公式能夠解決問題,為什么還要使用自定義函數(shù)的方法呢?正如前面提到的兩個方面的原因:一是公式看起來太繁瑣,不便于理解和管理;二是公式的處理能力在面對稍微復(fù)雜一些的問題時便失去效用,比如假設(shè)調(diào)節(jié)稅的稅率標(biāo)準(zhǔn)會根據(jù)年齡的不同而改變,那么公式可能就無能為力了。使用自定義函數(shù) 下面就通過此例介紹使用自定義函數(shù)的全過程,即使是初學(xué)Excel的朋友,也會感覺其操作實際上是非常簡單的。1. 為了便于測試自定義函數(shù)的計算效果,可以先把上面采用公式計算的結(jié)果刪去。然后選擇菜單“工具宏Visual Basic編輯器”命令(或按下鍵盤Alt+F11組合鍵),打開Visual Basic窗口,我們將在這里自定義函
7、數(shù)。2. 進(jìn)入Visual Basic窗口后,選擇菜單“插入模塊”命令,于是得到“模塊1”,在其中輸入如下自定義函數(shù)的代碼(圖2):Function TAX(salary)Select Case salaryCase Is <= 800TAX = 0Case Is <= 1500TAX = (salary - 800) * r1Case Is <= 2000TAX = (1500 - 800) * r1 + (salary - 1500) * r2Case Is > 2000TAX = (1500 - 800) * r1 + (2000 - 1500) * r2 + (
8、salary - 2000) * r3End SelectEnd Function圖 23. 函數(shù)自定義完成后,選擇菜單“文件關(guān)閉并返回到Microsoft Excel”命令,返回到Excel工作表窗口,在C2單元格中輸入公式“=TAX(B2)”回車后就計算出了第一個員工應(yīng)付的個人調(diào)節(jié)稅,然后用公式填充柄復(fù)制公式到其它后面的單元格,這樣就利用自定義函數(shù)完成了個人調(diào)節(jié)稅的計算(圖3)。圖 3 4. 從自定義函數(shù)的代碼中可以看出,用這種方式,自定義函數(shù)的功能非常易于理解,同時如果稅率改變,相應(yīng)地變化r1、r2、r3的值即可。通常,自定義的函數(shù)只能在當(dāng)前工作薄使用,如果該函數(shù)需要在其它工作薄中使用,
9、則選擇菜單“文件另存為”命令,打開“另存為”對話框,選擇保存類型為“Mircosoft Excel加載宏”,然后輸入一個文件名,如“TAX”單擊“確定”后文件就被保存為加載宏(圖4)。然后選擇菜單“工具加載宏”命令,打開“加載宏”對話框,勾選“可用加載宏”列表框中的“Tax”復(fù)選框即可,單擊“確定”按鈕后(圖5),就可以在本機上的所有工作薄中使用該自定義函數(shù)了。圖 4 圖 5 如果想要在其它機器上使用該自定義函數(shù),只要把上面的加載宏文件復(fù)制到其它電腦上加載宏的默認(rèn)保存位置即可。說明:Windows XP系統(tǒng)下加載宏文件的默認(rèn)保存位置為:C:Documents and Settingszunyu
10、e(用戶帳戶)Application DataMicrosoftAddIns文件夾。(二) 計算獎金的自定義函數(shù) 任務(wù)為了促進(jìn)銷售人員的工作積極性,銷售部門經(jīng)理制定了銷售業(yè)績獎金制度,獎金發(fā)放的標(biāo)準(zhǔn)獎金率如下:月銷售額小于等于2800元的獎金率為4,月銷售額為2800元至7900元的獎金率為7,月銷售額為7900元至15000元的獎金率為10,月銷售額為15000元至30000元的獎金率為13,月銷售額為30000元至50000元的獎金率為16,月銷售額大于50000元的獎金率為19。同時,為了鼓勵員工持續(xù)地為公司工作,工齡越長對獎金越有利,具體規(guī)定為:參與計算的獎金率等于標(biāo)準(zhǔn)獎金率加上工齡一
11、半的百分?jǐn)?shù)。比如一個工齡為5年的員工,標(biāo)準(zhǔn)獎金率為7時,參與計算的獎金率則為9.5%=7%+(5/2)%。分析 首先,我們在Excel2003中制作好如圖6的Sheet1工作表,開始分析計算的方法。圖 6 如果不考慮工齡對獎金率的影響,那么可以利用嵌套使用IF函數(shù),在D2單元格輸入公式“=IF(B2<=2800,B2*4%,IF(B2<=7900,B2*7%,IF(B2<=15000,B2*10%,IF(B2<=30000,B2*13%,IF(B2<=50000,B2*16%,B2*19%)”可以進(jìn)行計算。但是,該公式的一些弊端很明顯:一是公式看起來太繁瑣、不容易
12、理解,而且IF函數(shù)最多只能嵌套7層,萬一獎金率超過7個,那么這個方法就無能為力了。另一方面,由于沒有考慮工齡,所以該方法不能算是解決問題了,如果我們把工齡融入到上述公式中,這樣公式就會顯得更加冗長繁瑣,以后的管理與調(diào)整都很不方便。使用自定義函數(shù) 下面我們看看利用Excel自定義函數(shù)進(jìn)行計算的全過程,有了實例一的基礎(chǔ),相信大家理解起來更容易了。不過這里與實例一有一個明顯的差別是,該自定義函數(shù)使用了2個參數(shù),請大家注意體會。1. 在上述Excel工作表中,選擇菜單“工具宏Visual Basic編輯器”命令,打開Visual Basic窗口,然后選擇菜單“插入模塊”命令,插入一個名為“模塊1”的模
13、塊。2. 接著在模塊編輯窗口中輸入自定義函數(shù)的代碼如下(圖 7):Function REWARD(sales, years) As DoubleSelect Case salesCase Is <= 2800REWARD = sales * (r1 + years / 200)Case Is <= 7900REWARD = sales * (r2 + years / 200)Case Is <= 15000REWARD = sales * (r3 + years / 200)Case Is <= 30000REWARD = sales * (r4 + years / 2
14、00)Case Is <= 50000REWARD = sales * (r5 + years / 200)Case Is > 50000REWARD = sales * (r6 + years / 200)End SelectEnd Function圖 7 3. 從代碼可以看出,我們自定義了一個名為REWARD的函數(shù),它包含兩個參數(shù):銷售額sales和工齡years。常量r1至r6分別存放著各個等級的獎金率,這樣處理的好處是當(dāng)獎金率調(diào)整時,修改非常方便。同時,函數(shù)的層次結(jié)構(gòu)比前面的公式清晰,讓人容易理解函數(shù)的功能。此外,當(dāng)獎金率超過7個時,用自定義函數(shù)的方法仍然可以輕松處理。4.
15、 接下來用該自定義函數(shù)進(jìn)行具體的計算。選擇菜單“文件關(guān)閉并返回到Microsoft Excel”命令,關(guān)閉Visual Basic窗口,返回Excel工作表。選中D2單元格,在其中輸入“=reward(B2,C2)”,回車后就算出了第一個員工的獎金,然后利用公式填充柄復(fù)制該公式到后面的單元格,即可完成對其它員工獎金的計算(圖 8)。圖 8如果該自定義函數(shù)需要在其它工作薄或其它機器上使用,仿照實例一的操作方法進(jìn)行即可。四、 總結(jié) 我們通過兩個典型的實例講述了Excel中自定義函數(shù)使用的全過程,相信大家都已經(jīng)會到,其操作過程還是相當(dāng)簡單的。如果你覺得自己的工作可能需要自定義函數(shù),想進(jìn)一步學(xué)好提高使
16、用自定義函數(shù)的水平,筆者想給出如下幾點建議。第一點、盡力全面熟練地掌握Excel內(nèi)置的函數(shù)。能用內(nèi)置函數(shù)妥善解決的問題,就不必使用自定義函數(shù)。實際上,自定義函數(shù)的執(zhí)行效率當(dāng)然是比Excel內(nèi)置函數(shù)的執(zhí)行效率慢的。第二點、認(rèn)真掌握好VBA的基礎(chǔ)知識。這點很容易理解,如果連VBA的基本規(guī)則都不甚清楚,那么別說是寫出精致的自定義函數(shù),就是寫出能解決問題的自定義函數(shù)也還大有疑問。第三點、具體寫自定義函數(shù)代碼之前,應(yīng)該認(rèn)真分析自己要處理的實際問題,如果這個問題有實際的數(shù)學(xué)函數(shù)模型,那么最好列出這個函數(shù)的解析式。以上只是筆者的一些淺薄認(rèn)識,希望能為大家使用好Excel自定義函數(shù)帶來幫助,也希望大家能夠通過
17、使用自定義函數(shù)提高自己的工作效率。 .xls文件下載Excel中用自動運行宏提高工作效率 在日常工作中,我們經(jīng)常需要在每次打開同一個Excel文件時都進(jìn)行一些例行的操作,如改變表格的格式、更新報表日期、打印文件、對工作表進(jìn)行保護或取消保護等等。Excel的自動運行宏“AutoOpen”可在文件打開后立即完成這些例行的操作任務(wù),既快速又準(zhǔn)確。假設(shè)我們在Excel文件的工作表Sheet1中有一個銷售日報表,下面我們在這個文件中建立一個AutoOpen宏,讓它在文件打開后自動完成下面任務(wù):
18、160; 1. 取消工作表保護;2. 把“當(dāng)日銷售”列里的數(shù)據(jù)值復(fù)制到“上日銷售”一列;3. 將日期增加一天;4. 恢復(fù)工作表保護。具體做法如下:1. 在“工具”菜單上選擇“宏”子菜單,打開“宏”對話框,在“宏名”一欄里鍵入“AutoOpen”再點擊下面的“新建”鈕,進(jìn)入宏編輯狀態(tài)。注意不要把宏名字輸錯了,否則宏不會自動執(zhí)行。2. 在宏編輯狀態(tài)下,把下面VBA Visual Basic for Application 語句輸入到AutoOpen下面:Sub AutoOpen Sheets"Sheet1".Activate '取消工作表保護 A
19、ctiveSheet.Unprotect '將當(dāng)日銷售值拷貝到上日銷售一欄 x = MsgBox"把當(dāng)日銷售值拷貝到上日銷售欄嗎?" vbYesNo If x = vbYes Then Range"B5B8".Copy Range"C5".Select Selection.PasteSpecial Paste=xlValues Application.CutCopyMode = False End If '將日期增加一天 x = MsgBox"把日期增加一天嗎?" vbYesNo If x = vb
20、Yes Then Range"C2" = Range"C2" + 1 End If '重新保護工作表 ActiveSheet.Protect End Sub 將文件保存并關(guān)閉。重新打開此文件,體驗一下AutoOpen宏是如何為你工作的吧。如果你想用AutoOpen完成其它的操作而又不知道如何用VBA語句直接建立宏,Excel的錄制宏的功能可以幫助你,但是別忘了把所錄制的宏取名為AutoOpen。關(guān)于錄制宏的方法請參閱一般的Excel功能手冊。Excel 巧用名稱框和輸入平方
21、、立方巧用名稱框Excel中的名稱框位于編輯欄左端的下拉列表框中,它主要用于指示當(dāng)前選定的單元格、圖表項或繪圖對象。靈活運用名稱框,對我們提高Excel的使用效率有很大幫助。 一、快速命名單元格或單元格區(qū)域 選定需要命名的單元格或單元格區(qū)域,然后直接在“名稱框”中鍵入名稱,再按回車鍵即可快速命名選定的單元格或單元格區(qū)域。 二、快速移動至指定單元格 如果要將活
22、動單元格移動到指定的單元格,可直接在“名稱框”中鍵入需要移動至相應(yīng)位置的單元格標(biāo)志。例如用戶要將活動單元格從A1單元格移動到X1000單元格時,如果使用移動鼠標(biāo)指針的方法將是一件非常麻煩的操作,但是你只要在“名稱框”中鍵入“X1000”,按下回車鍵后活動單元格就會立即移動到X1000單元格中。 三、快速選定單元格區(qū)域 在“名稱框”中直接鍵入需要選定的單元格區(qū)域標(biāo)志,例如“B2:H200”,然后按下回車鍵,這時B2:H200單元格區(qū)域就被選中了。
23、0; 如果需要選定工作表中不相鄰的單元格或單元格區(qū)域,只要在“名稱框”中使用逗號將各個單元格分隔開即可。例如在“名稱框”中鍵入“A1,C2:D10,H:H”,按下回車鍵后,即可將A1單元格、C2:D10單元格區(qū)域以及H行同時選中。 要注意一點的是,如果要用名稱框選區(qū)的話,先要選中多個單元格. 第一步:選中多個單元格如(A1:D15) 第二步:打開插入菜單中選擇"名稱"菜單中選擇"定義",彈出對話框,在定義名稱對話框中輸入名稱,確定. 第三步:打開編輯欄中的名稱框旁邊的小三角,菜單中就可以選擇你定義的名稱了,單擊,這樣你定義的名稱就
24、選中了. 還要一個就是先不用選中單元格也可以: 第一步:插入菜單中選擇"名稱"中的"定義",對話框中輸入名稱. 第二步,在"引用位置"下面的方框里面把引用的內(nèi)容先刪除 ,然后,再次把你要定義的單元格選中,確定. 第三步:打開編輯欄中的名稱框旁邊的小三角,菜單中就可以選擇你定義的名稱了,單擊,這樣你定義的名稱就選中了. 輸入平方、立方 如果要在Excel中輸入平方、立方, 可采用如下方法解決這個問題:先在單元格中輸入“X2”或“X3”,再在編輯欄中選定“2”或“3”,點擊“格式
25、單元格”,在“字體”標(biāo)簽頁中,勾選“上標(biāo)”前面的復(fù)選框,最后單擊“確定”即可。直接按ALT,別松手再按小鍵盤的178,同時放手,就是平方了。179是立方。 EXCEL中VBA應(yīng)用舉例 在以下所舉例子中,均可以采用簡潔的VBA代碼來完成。如果你以前沒有做過程序,看到那么多代碼會以為很難,其實不然,這些代碼有大部分都是可以錄制下來的,然后稍做修改即可。 例一、 工作簿中SHEET1(工資表)的A列是姓名,SHEET2(員工E-MAIL列表)的A列是姓名,B列是對應(yīng)的E-MAIL?,F(xiàn)在你想將所有員工的E-MAIL填寫到SHEET1中的B列, (注意:SHEET1中姓名“李三”在SHEET2中可能為“
26、李三”,中間沒有空格)。簡答:可以利用雙層循環(huán),從SHEET1中找出每個人名字,然后到SHEET2中去匹配,匹配上的就把SHEET1相應(yīng)的單元格賦值。Sub fillCell() Dim strTemp$, I%, J% Worksheets("sheet1").Activate For I = 1 To 3 '在之前可以用另一段程序判斷出行數(shù) strTemp = Trim(R
27、eplace(Worksheets("sheet1").Cells(I, 1).Value, " ", "") '把姓名賦值給變量strTemp,并去掉空格 For J = 1 To 3 '在之前可以用另一段程序判斷出行數(shù) If Trim(Replace(Worksheets("sheet2&qu
28、ot;).Cells(J, 1).Value, " ", "") = strTemp Then Worksheets("sheet1").Cells(I, 2).Value = Worksheets("sheet2").Cells(J, 2).Value &
29、#160; Exit For End If Next NextEnd Sub例二、 在年度的工作計劃中,老總要求把公司每部業(yè)務(wù)電話的通話時長的通話費用按日(月)做成柱狀圖,供部門經(jīng)理和老總調(diào)閱。簡答:每部業(yè)務(wù)電話的通話時長的通話費在EXCEL的不同SHEET表中,
30、可以用FOR EACH NEXT控制語句遍歷工作簿中的所有workbooks(index).Worksheets(index),然后用Range(范圍).Select選擇數(shù)據(jù)范圍,ThisWorkbook.Charts.Add,就可以添加圖,ActiveChart.ChartType,ActiveChart.Location Where等就可以定義圖的屬性。例三、 有一份公司所有員工工資表(或各代理處的存貨表),你想把這個總表按個人(代理處)分離成單個的EXCEL表,然后分發(fā)給對應(yīng)的人(代理處)簡答:需要應(yīng)用到FSO對象,F(xiàn)SO控制文件的復(fù)制、命名等。首先利用Dim wkbook As Wor
31、kbook和Set wkbook = Workbooks.Add新建一個工作簿,range("a:b").Copy 和Sheets("sheet1").Paste 可以把指定內(nèi)容復(fù)制到新工作簿中,wkbook.SaveAs方法可以用變量給文件命名,變量可以是姓名或代理處名。然后調(diào)用JMAIL或其它控件把文件發(fā)到指定的郵箱。例四、 作為會務(wù)人員,你需要每個與會人員簽到,你希望在A列每輸入一個名字(或用戶ID號)時,在B列就出現(xiàn)精確到分鐘的時間簡答:以下為基本代碼,可以根據(jù)情況再做判斷。輸入完一個到會人員名字后再回到這個單元格,就可以在同行相鄰一列的單元格中
32、寫出系統(tǒng)時間。 Dim strtemp$, strAdd$ strtemp = Trim(ActiveCell.Value) strAdd = ActiveCell.Address If Len(strtemp) > 0 Then ActiveCell.Offset(0, 1).Value = Format(Now, "yyyy-mm-dd hh:mm:
33、ss") End If例五、 如果有一大批格式統(tǒng)一的TXT文檔需要導(dǎo)入到EXCEL中去并作一些調(diào)整(或者一批EXCEL表需要導(dǎo)出為TXT文檔或HTML文檔,并為導(dǎo)出的文件命名)簡答:用FSO把一個要倒入的的TXT文件的名字取出來,然后利用 Workbooks.OpenText Filename:="文件名", StartRow:=1, _ DataType:=xlDelimited, TextQualifier
34、:=xlDoubleQuote, ConsecutiveDelimiter _ :=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, _ Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1)打開TXT文件(一些屬性可以實際情況修改),然后再利用SAVE AS 保存就可以完成TXT-EXCEL的倒
35、入。反過來更容易些,可以用FSO新建TXT(html)文件,然后把EXCEL中符合條件的記錄集寫進(jìn)TXT(html)文件即可。例六、 在公司的SQLSERVER或ACCESS數(shù)據(jù)庫中集中存放一些員工檔案或公司運營記錄,需要把符合條件的記錄導(dǎo)出到EXCEL表中,并做出折線圖或柱狀解答:本例應(yīng)用到ADO對象,先在VBE編輯環(huán)境中菜單“工具/引用”添加對ADO的引用,然后在程序中建立跟SQLSERVER或ACCESS數(shù)據(jù)庫的連接,用SQL語句把查找的結(jié)果集RECORDSET寫進(jìn)EXCEL的CELLS當(dāng)中。然后再利用CHARTS對象添加圖表就可以了。例七、 把EXCEL中的數(shù)據(jù)在WORD中按一定的順序
36、和條件顯示出來解答:本例要在VBE編輯環(huán)境中菜單“工具/引用”添加對WORD的引用,Dim wd As Word.Application和Dim wddoc As Word.Document可以定義WORD中的對象, Set wd = New Word.Application wd.Visible = True Set wddoc = wd.Documents.Add wddoc.Select wd.Selectio
37、n.TypeParagraph wd.Selection.TypeText "hello" wddoc.SaveAs "c:tt.doc"wd.Quit這樣可以做到對WORD的控制。例八、 在EXCEL中有20個以前做的折線圖,現(xiàn)在要在圖標(biāo)題末尾中增加“(2003年一季度)”這幾個字解答:不論有多少圖,不論有多少SHEET表,兩個循環(huán)把所有的圖的標(biāo)題(activechart.ChartTitle.Text)進(jìn)行修改,擴展開來,可以修改所有圖的坐標(biāo)軸,線形等。Sub changeCha
38、rt()'先對所有SHEET進(jìn)行循環(huán),再在每個表中循環(huán)'wkSheet.ChartObjects(char.Name).Activate激活CHART對象'再對CHART進(jìn)行操作'把EXCEL另存為HTML后,在它的文件夾里可以找到對應(yīng)的IMG圖,另存出來命名即可 Dim wkBook As Excel.Workbook Dim wkSheet As Excel.Worksheet Dim I% &
39、#160; Set wkBook = ActiveWorkbook For Each wkSheet In wkBook.Worksheets '循環(huán)所有的表 For I = 1 To wkSheet.ChartObjects.Count '循環(huán)所有的Shape wkSheet.ChartObjects(I).Activate &
40、#39;將Shape對象轉(zhuǎn)換成對CHART的控制 ActiveChart.ChartArea.Select 'activeChart.Shapes("圖表 1").IncrementLeft
41、; With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = "pphello111-" & Trim(Str(I) &
42、#160; End With Next NextEnd Sub 運用Excel三大條件函數(shù)解決實際問題! 秋盡冬至,又到一年年終時。在工作中,數(shù)據(jù)的運算量和匯總的操作一下比平時多了不少。眾所周知,在Excel中可以對數(shù)據(jù)進(jìn)行各種不同的運算和匯總,今天我向大家介紹與條件相關(guān)的函數(shù)三兄弟,分別是“COUNTIF”、“SUMIF”和“IF”函數(shù)。他們有一個共同的特點都姓字符“IF”。大兄弟:COUNTIF函數(shù)
43、(計數(shù)求和)COUNT函數(shù),顧名思義是用來計數(shù)的,統(tǒng)計所選擇區(qū)域的數(shù)值型單元格個數(shù)。COUNTIF是COUNT函數(shù)的引伸與拓展,在計數(shù)時加上先前條件,只有符合計數(shù)的條件才進(jìn)行統(tǒng)計計算。比如,從員工信息表中,計算出有多少人的年齡大于35歲。下面我們來看一個典型的分類計數(shù)匯總的例子。這里有一張銷售流水記錄表,每名銷售人員累計做了多少“銷售訂單個數(shù)”呢? 大兄弟COUNTIF正常工作需要兩個參數(shù)條件區(qū)域(本例為左側(cè)表中“銷售人員”一列)和計數(shù)條件(本例為右側(cè)表中的人員姓名)。要計算第一位銷售人員的“訂單數(shù)”,很簡單,輸入函數(shù)公式 “=COUNTIF($C$2:$C$16,E2)”即可(見圖1)。二兄弟:SUMIF函數(shù)(條件求和)SUM函數(shù)的作用是對數(shù)據(jù)求和,而SUMIF對它進(jìn)行了引伸和拓展,比如計算“金額”在1元以上的數(shù)據(jù)總和、按照人員或產(chǎn)品分類計算數(shù)據(jù)總和等等。它有3個參數(shù),分別是條件區(qū)域、判斷條件、實際的求和區(qū)域(如果它與“條件區(qū)域”是一個區(qū)域,就可省略)。在上例中,計算每位“銷售人員”的訂單總金額,就要使用SUMIF函數(shù)來協(xié)助了。如果要計算每個人的銷售訂單總金額,把左側(cè)表的“銷售人員”一列當(dāng)作“條件區(qū)域”,把右側(cè)表的每個名單當(dāng)作求和“條件”,把左側(cè)表的每筆“訂單金
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臺州市房屋裝修合同
- 連車帶人租賃合同書
- 二零二四年度音響設(shè)備采購合同
- 二零二四年金融服務(wù)授權(quán)合同委托書(第三方支付)3篇
- 網(wǎng)絡(luò)安全技術(shù)升級改造服務(wù)合同
- 2024年文化產(chǎn)業(yè)合作共建合同
- 城中村改造協(xié)議合同
- 軟件銷售及服務(wù)合同
- 工業(yè)自動化設(shè)備生產(chǎn)與銷售合同
- 2025年個人寵物醫(yī)療保健質(zhì)押擔(dān)保合同2篇
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 電力溝施工組織設(shè)計-電纜溝
- 【教案】+同一直線上二力的合成(教學(xué)設(shè)計)(人教版2024)八年級物理下冊
- 單位往個人轉(zhuǎn)賬的合同(2篇)
- 鍋爐本體安裝單位工程驗收表格
- 一種基于STM32的智能門鎖系統(tǒng)的設(shè)計-畢業(yè)論文
- 高危妊娠的評估和護理
- 妊娠合并強直性脊柱炎的護理查房
- 2024年山東鐵投集團招聘筆試參考題庫含答案解析
- 兒童10歲生日-百日宴-滿月酒生日會成長相冊展示(共二篇)
評論
0/150
提交評論