日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

  Excel中經常需要使用到vba進行自定義函數的技巧,自定義函數具體該如何用vba自定義呢?接下來是小編為大家帶來的excel利用vba定義函數的教程,供大家參考。

  excel利用vba定義函數的教程

  用vba定義函數步驟1:例:下面表格中需要計算一些三角形的面積

  用vba定義函數步驟2:B列是底邊長,C列是高,要求在D列通過公式計算三角形面積。

excel利用vba定義函數的教程 圖1

  (通常我們會在D3單元格用公式 =B3*C3/2 來計算,然后把這個公式向D列下方拖動復制,得到其他公式。這只是一個簡單的例子,通過它來學習編寫簡單的自定義函數)

  用vba定義函數步驟3:打開VBA窗口

  按ALT+F11調出VBA窗口,插入一個用戶模塊。

excel利用vba定義函數的教程 圖2

  用vba定義函數步驟4:編寫代碼

  通常自定義函數是用function命令開始的,在這個命令后面給它指定一個名字和參數

  把下面這個自定義函數代碼粘貼到剛插入的用戶模塊中就可以使用了。

  Function sjxmj(di, gao)

  sjxmj = di * gao / 2

  End Function

  這段代碼非常簡單只有三行,先看第一行,其中sjxmj是自己取的函數名字,括號中的是參數,也就是變量,di表示“底邊長”,gao表示“高”,兩個參數用逗號隔開。

  再看第二行,這是計算過程,將di*gao/2這個公式賦值給sjxmj,即自定義函數的名字。

  再看第三行,它是與第一行成對出現的,當你手工輸入第一行的時候,第三行的end function就會自動出現,表示自定義函數的結束。

excel利用vba定義函數的教程 圖3

  用vba定義函數步驟5:使用自定義函數

  回到EXCEL窗口,我們在D3單元格中輸入公式 =sjxmj(b3,c3) ,就會得到這一行的三角形面積了,它的使用方法同內置函數完全一樣。

excel利用vba定義函數的教程 圖4

  用vba定義函數步驟6:通過上面例子可以了解自定義函數的編寫和使用方法,下面再介紹一個稍微復雜點的自定義函數。

  經常對數據進行處理的朋友可以會遇到多條件查找某一個數據,一般這種情況需要編寫“數組公式”來解決,公式較長,也不易理解。

  比如下面統計成績的表格,需要根據A1:D7的成績表,統計出兩門功能都在90分以上的學生人數。

  大家可以看到在H3單元格中的公式比較長,理解起來也有一定難度。

  我們通過自定義函數也可以得到正確結果,函數代碼如下:

  Function 統計(a, b, c, d, e)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, c) >= e And a.Cells(i, d) >= e Then

  統計 = 統計 + 1

  End If

  Next

  End Function

  這個函數用了五個參數(因為涉及到一個區域和四個條件)

  參數a表示要統計的區域,在此例中為B2:E7

  參數b表示要統計的是哪一個班級,在此例中為G3單元格

  參數c表示數學成績相對于區域第一列向右的列數,在此例中為3

  參數d表示數學成績相對于區域第一列向右的列數,在此例中為4

  參數e表示分數,在此例中為90分

  提示:要注意參數c和d“相對”于“區域”的列數,并非是從A列開始向右的列數。

  把上面這段代碼也粘貼到用戶模塊中就可以使用了

  回到EXCEL窗口,在H3單元格中輸入公式 =統計($B$2:$E$7,G3,3,4,90) 就可以顯示正確結果了。

  Function 統計2(a, b)

  For i = 1 To a.Rows.Count

  If b = a.Cells(i, 1) And a.Cells(i, 3) >= 90 And a.Cells(i, 4) >= 90 Then

  統計 = 統計 + 1

  End If

  Next

  End Function

  在表格中的H3單元格中輸入公式 =統計2($B$2:$E$7,G3) 就可以了。

  從上面可以看出,自定義函數可以使用“漢字”做為函數的名字,方便記憶,也可以根據實際情況對參數進行簡化。

  用vba定義函數步驟7:通常這種時候需要在H3單元格使用數組公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))

excel利用vba定義函數的教程 圖5

  用vba定義函數步驟8:如果我們的成績表格式是固定的,各科目成績位置相對于區域也是固定的,而且要統計的分數也是固定的90分,就可以在自定義函數中將參數的數量減少到兩個,如下:

excel利用vba定義函數的教程 圖6


分享到:
標簽:函數 定義 教程 自定義 Excel函數
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定