Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧
Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧
在工作中有時會遇到在編寫公式時,找不到適合的EXCEL內(nèi)置函數(shù),這時就可以考慮使用自定義函數(shù)了。今天,學(xué)習(xí)啦小編就教大家在Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧。
Excel中進(jìn)行自定義函數(shù)的設(shè)置步驟
下面通過一個例子來學(xué)習(xí)簡單的編寫自定義函數(shù)
例:下面表格中需要計算一些三角形的面積
B列是底邊長,C列是高,要求在D列通過公式計算三角形面積。
(通常我們會在D3單元格用公式 =B3*C3/2 來計算,然后把這個公式向D列下方拖動復(fù)制,得到其他公式。這只是一個簡單的例子,通過它來學(xué)習(xí)編寫簡單的自定義函數(shù))
1、打開VBA窗口
按ALT+F11調(diào)出VBA窗口,插入一個用戶模塊。
2、編寫代碼
通常自定義函數(shù)是用function命令開始的,在這個命令后面給它指定一個名字和參數(shù)
把下面這個自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。
Function sjxmj(di, gao)
sjxmj = di * gao / 2
End Function
這段代碼非常簡單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號中的是參數(shù),也就是變量,di表示“底邊長”,gao表示“高”,兩個參數(shù)用逗號隔開。
再看第二行,這是計算過程,將di*gao/2這個公式賦值給sjxmj,即自定義函數(shù)的名字。
再看第三行,它是與第一行成對出現(xiàn)的,當(dāng)你手工輸入第一行的時候,第三行的end function就會自動出現(xiàn),表示自定義函數(shù)的結(jié)束。
3、使用自定義函數(shù)
回到EXCEL窗口,我們在D3單元格中輸入公式 =sjxmj(b3,c3) ,就會得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。
通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個稍微復(fù)雜點的自定義函數(shù)。
經(jīng)常對數(shù)據(jù)進(jìn)行處理的朋友可以會遇到多條件查找某一個數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長,也不易理解。
比如下面統(tǒng)計成績的表格,需要根據(jù)A1:D7的成績表,統(tǒng)計出兩門功能都在90分以上的學(xué)生人數(shù)。
大家可以看到在H3單元格中的公式比較長,理解起來也有一定難度。
我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:
Function 統(tǒng)計(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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
這個函數(shù)用了五個參數(shù)(因為涉及到一個區(qū)域和四個條件)
參數(shù)a表示要統(tǒng)計的區(qū)域,在此例中為B2:E7
參數(shù)b表示要統(tǒng)計的是哪一個班級,在此例中為G3單元格
參數(shù)c表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為3
參數(shù)d表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為4
參數(shù)e表示分?jǐn)?shù),在此例中為90分
提示:要注意參數(shù)c和d“相對”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。
把上面這段代碼也粘貼到用戶模塊中就可以使用了
回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計($B
Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧
在工作中有時會遇到在編寫公式時,找不到適合的EXCEL內(nèi)置函數(shù),這時就可以考慮使用自定義函數(shù)了。今天,學(xué)習(xí)啦小編就教大家在Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧。
Excel中進(jìn)行自定義函數(shù)的設(shè)置步驟
下面通過一個例子來學(xué)習(xí)簡單的編寫自定義函數(shù)
例:下面表格中需要計算一些三角形的面積
B列是底邊長,C列是高,要求在D列通過公式計算三角形面積。
(通常我們會在D3單元格用公式 =B3*C3/2 來計算,然后把這個公式向D列下方拖動復(fù)制,得到其他公式。這只是一個簡單的例子,通過它來學(xué)習(xí)編寫簡單的自定義函數(shù))
1、打開VBA窗口
按ALT+F11調(diào)出VBA窗口,插入一個用戶模塊。
2、編寫代碼
通常自定義函數(shù)是用function命令開始的,在這個命令后面給它指定一個名字和參數(shù)
把下面這個自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。
Function sjxmj(di, gao)
sjxmj = di * gao / 2
End Function
這段代碼非常簡單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號中的是參數(shù),也就是變量,di表示“底邊長”,gao表示“高”,兩個參數(shù)用逗號隔開。
再看第二行,這是計算過程,將di*gao/2這個公式賦值給sjxmj,即自定義函數(shù)的名字。
再看第三行,它是與第一行成對出現(xiàn)的,當(dāng)你手工輸入第一行的時候,第三行的end function就會自動出現(xiàn),表示自定義函數(shù)的結(jié)束。
3、使用自定義函數(shù)
回到EXCEL窗口,我們在D3單元格中輸入公式 =sjxmj(b3,c3) ,就會得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。
通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個稍微復(fù)雜點的自定義函數(shù)。
經(jīng)常對數(shù)據(jù)進(jìn)行處理的朋友可以會遇到多條件查找某一個數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長,也不易理解。
比如下面統(tǒng)計成績的表格,需要根據(jù)A1:D7的成績表,統(tǒng)計出兩門功能都在90分以上的學(xué)生人數(shù)。
大家可以看到在H3單元格中的公式比較長,理解起來也有一定難度。
我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:
Function 統(tǒng)計(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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
這個函數(shù)用了五個參數(shù)(因為涉及到一個區(qū)域和四個條件)
參數(shù)a表示要統(tǒng)計的區(qū)域,在此例中為B2:E7
參數(shù)b表示要統(tǒng)計的是哪一個班級,在此例中為G3單元格
參數(shù)c表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為3
參數(shù)d表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為4
參數(shù)e表示分?jǐn)?shù),在此例中為90分
提示:要注意參數(shù)c和d“相對”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。
把上面這段代碼也粘貼到用戶模塊中就可以使用了
回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計($B$2:$E$7,G3,3,4,90) 就可以顯示正確結(jié)果了。
Function 統(tǒng)計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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
在表格中的H3單元格中輸入公式 =統(tǒng)計2($B$2:$E$7,G3) 就可以了。
從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實際情況對參數(shù)進(jìn)行簡化。
通常這種時候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))
提示:
如果我們的成績表格式是固定的,各科目成績位置相對于區(qū)域也是固定的,而且要統(tǒng)計的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個,如下:
看過Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧還看了:
1.Excel中進(jìn)行自定義函數(shù)的操作技巧
4.Excel中2010版創(chuàng)建自定義函數(shù)的操作技巧
Function 統(tǒng)計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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
在表格中的H3單元格中輸入公式 =統(tǒng)計2($B
Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧
在工作中有時會遇到在編寫公式時,找不到適合的EXCEL內(nèi)置函數(shù),這時就可以考慮使用自定義函數(shù)了。今天,學(xué)習(xí)啦小編就教大家在Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧。
Excel中進(jìn)行自定義函數(shù)的設(shè)置步驟
下面通過一個例子來學(xué)習(xí)簡單的編寫自定義函數(shù)
例:下面表格中需要計算一些三角形的面積
B列是底邊長,C列是高,要求在D列通過公式計算三角形面積。
(通常我們會在D3單元格用公式 =B3*C3/2 來計算,然后把這個公式向D列下方拖動復(fù)制,得到其他公式。這只是一個簡單的例子,通過它來學(xué)習(xí)編寫簡單的自定義函數(shù))
1、打開VBA窗口
按ALT+F11調(diào)出VBA窗口,插入一個用戶模塊。
2、編寫代碼
通常自定義函數(shù)是用function命令開始的,在這個命令后面給它指定一個名字和參數(shù)
把下面這個自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。
Function sjxmj(di, gao)
sjxmj = di * gao / 2
End Function
這段代碼非常簡單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號中的是參數(shù),也就是變量,di表示“底邊長”,gao表示“高”,兩個參數(shù)用逗號隔開。
再看第二行,這是計算過程,將di*gao/2這個公式賦值給sjxmj,即自定義函數(shù)的名字。
再看第三行,它是與第一行成對出現(xiàn)的,當(dāng)你手工輸入第一行的時候,第三行的end function就會自動出現(xiàn),表示自定義函數(shù)的結(jié)束。
3、使用自定義函數(shù)
回到EXCEL窗口,我們在D3單元格中輸入公式 =sjxmj(b3,c3) ,就會得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。
通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個稍微復(fù)雜點的自定義函數(shù)。
經(jīng)常對數(shù)據(jù)進(jìn)行處理的朋友可以會遇到多條件查找某一個數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長,也不易理解。
比如下面統(tǒng)計成績的表格,需要根據(jù)A1:D7的成績表,統(tǒng)計出兩門功能都在90分以上的學(xué)生人數(shù)。
大家可以看到在H3單元格中的公式比較長,理解起來也有一定難度。
我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:
Function 統(tǒng)計(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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
這個函數(shù)用了五個參數(shù)(因為涉及到一個區(qū)域和四個條件)
參數(shù)a表示要統(tǒng)計的區(qū)域,在此例中為B2:E7
參數(shù)b表示要統(tǒng)計的是哪一個班級,在此例中為G3單元格
參數(shù)c表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為3
參數(shù)d表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為4
參數(shù)e表示分?jǐn)?shù),在此例中為90分
提示:要注意參數(shù)c和d“相對”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。
把上面這段代碼也粘貼到用戶模塊中就可以使用了
回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計($B$2:$E$7,G3,3,4,90) 就可以顯示正確結(jié)果了。
Function 統(tǒng)計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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
在表格中的H3單元格中輸入公式 =統(tǒng)計2($B$2:$E$7,G3) 就可以了。
從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實際情況對參數(shù)進(jìn)行簡化。
通常這種時候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))
提示:
如果我們的成績表格式是固定的,各科目成績位置相對于區(qū)域也是固定的,而且要統(tǒng)計的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個,如下:
看過Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧還看了:
1.Excel中進(jìn)行自定義函數(shù)的操作技巧
4.Excel中2010版創(chuàng)建自定義函數(shù)的操作技巧
從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實際情況對參數(shù)進(jìn)行簡化。
通常這種時候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B
Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧
在工作中有時會遇到在編寫公式時,找不到適合的EXCEL內(nèi)置函數(shù),這時就可以考慮使用自定義函數(shù)了。今天,學(xué)習(xí)啦小編就教大家在Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧。
Excel中進(jìn)行自定義函數(shù)的設(shè)置步驟
下面通過一個例子來學(xué)習(xí)簡單的編寫自定義函數(shù)
例:下面表格中需要計算一些三角形的面積
B列是底邊長,C列是高,要求在D列通過公式計算三角形面積。
(通常我們會在D3單元格用公式 =B3*C3/2 來計算,然后把這個公式向D列下方拖動復(fù)制,得到其他公式。這只是一個簡單的例子,通過它來學(xué)習(xí)編寫簡單的自定義函數(shù))
1、打開VBA窗口
按ALT+F11調(diào)出VBA窗口,插入一個用戶模塊。
2、編寫代碼
通常自定義函數(shù)是用function命令開始的,在這個命令后面給它指定一個名字和參數(shù)
把下面這個自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。
Function sjxmj(di, gao)
sjxmj = di * gao / 2
End Function
這段代碼非常簡單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號中的是參數(shù),也就是變量,di表示“底邊長”,gao表示“高”,兩個參數(shù)用逗號隔開。
再看第二行,這是計算過程,將di*gao/2這個公式賦值給sjxmj,即自定義函數(shù)的名字。
再看第三行,它是與第一行成對出現(xiàn)的,當(dāng)你手工輸入第一行的時候,第三行的end function就會自動出現(xiàn),表示自定義函數(shù)的結(jié)束。
3、使用自定義函數(shù)
回到EXCEL窗口,我們在D3單元格中輸入公式 =sjxmj(b3,c3) ,就會得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。
通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個稍微復(fù)雜點的自定義函數(shù)。
經(jīng)常對數(shù)據(jù)進(jìn)行處理的朋友可以會遇到多條件查找某一個數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長,也不易理解。
比如下面統(tǒng)計成績的表格,需要根據(jù)A1:D7的成績表,統(tǒng)計出兩門功能都在90分以上的學(xué)生人數(shù)。
大家可以看到在H3單元格中的公式比較長,理解起來也有一定難度。
我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:
Function 統(tǒng)計(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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
這個函數(shù)用了五個參數(shù)(因為涉及到一個區(qū)域和四個條件)
參數(shù)a表示要統(tǒng)計的區(qū)域,在此例中為B2:E7
參數(shù)b表示要統(tǒng)計的是哪一個班級,在此例中為G3單元格
參數(shù)c表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為3
參數(shù)d表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為4
參數(shù)e表示分?jǐn)?shù),在此例中為90分
提示:要注意參數(shù)c和d“相對”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。
把上面這段代碼也粘貼到用戶模塊中就可以使用了
回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計($B$2:$E$7,G3,3,4,90) 就可以顯示正確結(jié)果了。
Function 統(tǒng)計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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
在表格中的H3單元格中輸入公式 =統(tǒng)計2($B$2:$E$7,G3) 就可以了。
從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實際情況對參數(shù)進(jìn)行簡化。
通常這種時候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))
提示:
如果我們的成績表格式是固定的,各科目成績位置相對于區(qū)域也是固定的,而且要統(tǒng)計的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個,如下:
看過Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧還看了:
1.Excel中進(jìn)行自定義函數(shù)的操作技巧
4.Excel中2010版創(chuàng)建自定義函數(shù)的操作技巧
Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧
在工作中有時會遇到在編寫公式時,找不到適合的EXCEL內(nèi)置函數(shù),這時就可以考慮使用自定義函數(shù)了。今天,學(xué)習(xí)啦小編就教大家在Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧。
Excel中進(jìn)行自定義函數(shù)的設(shè)置步驟
下面通過一個例子來學(xué)習(xí)簡單的編寫自定義函數(shù)
例:下面表格中需要計算一些三角形的面積
B列是底邊長,C列是高,要求在D列通過公式計算三角形面積。
(通常我們會在D3單元格用公式 =B3*C3/2 來計算,然后把這個公式向D列下方拖動復(fù)制,得到其他公式。這只是一個簡單的例子,通過它來學(xué)習(xí)編寫簡單的自定義函數(shù))
1、打開VBA窗口
按ALT+F11調(diào)出VBA窗口,插入一個用戶模塊。
2、編寫代碼
通常自定義函數(shù)是用function命令開始的,在這個命令后面給它指定一個名字和參數(shù)
把下面這個自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。
Function sjxmj(di, gao)
sjxmj = di * gao / 2
End Function
這段代碼非常簡單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號中的是參數(shù),也就是變量,di表示“底邊長”,gao表示“高”,兩個參數(shù)用逗號隔開。
再看第二行,這是計算過程,將di*gao/2這個公式賦值給sjxmj,即自定義函數(shù)的名字。
再看第三行,它是與第一行成對出現(xiàn)的,當(dāng)你手工輸入第一行的時候,第三行的end function就會自動出現(xiàn),表示自定義函數(shù)的結(jié)束。
3、使用自定義函數(shù)
回到EXCEL窗口,我們在D3單元格中輸入公式 =sjxmj(b3,c3) ,就會得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。
通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個稍微復(fù)雜點的自定義函數(shù)。
經(jīng)常對數(shù)據(jù)進(jìn)行處理的朋友可以會遇到多條件查找某一個數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長,也不易理解。
比如下面統(tǒng)計成績的表格,需要根據(jù)A1:D7的成績表,統(tǒng)計出兩門功能都在90分以上的學(xué)生人數(shù)。
大家可以看到在H3單元格中的公式比較長,理解起來也有一定難度。
我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:
Function 統(tǒng)計(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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
這個函數(shù)用了五個參數(shù)(因為涉及到一個區(qū)域和四個條件)
參數(shù)a表示要統(tǒng)計的區(qū)域,在此例中為B2:E7
參數(shù)b表示要統(tǒng)計的是哪一個班級,在此例中為G3單元格
參數(shù)c表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為3
參數(shù)d表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為4
參數(shù)e表示分?jǐn)?shù),在此例中為90分
提示:要注意參數(shù)c和d“相對”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。
把上面這段代碼也粘貼到用戶模塊中就可以使用了
回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計($B$2:$E$7,G3,3,4,90) 就可以顯示正確結(jié)果了。
Function 統(tǒng)計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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
在表格中的H3單元格中輸入公式 =統(tǒng)計2($B$2:$E$7,G3) 就可以了。
從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實際情況對參數(shù)進(jìn)行簡化。
通常這種時候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))
提示:
如果我們的成績表格式是固定的,各科目成績位置相對于區(qū)域也是固定的,而且要統(tǒng)計的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個,如下:
看過Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧還看了:
1.Excel中進(jìn)行自定義函數(shù)的操作技巧
4.Excel中2010版創(chuàng)建自定義函數(shù)的操作技巧
Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧
在工作中有時會遇到在編寫公式時,找不到適合的EXCEL內(nèi)置函數(shù),這時就可以考慮使用自定義函數(shù)了。今天,學(xué)習(xí)啦小編就教大家在Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧。
Excel中進(jìn)行自定義函數(shù)的設(shè)置步驟
下面通過一個例子來學(xué)習(xí)簡單的編寫自定義函數(shù)
例:下面表格中需要計算一些三角形的面積
B列是底邊長,C列是高,要求在D列通過公式計算三角形面積。
(通常我們會在D3單元格用公式 =B3*C3/2 來計算,然后把這個公式向D列下方拖動復(fù)制,得到其他公式。這只是一個簡單的例子,通過它來學(xué)習(xí)編寫簡單的自定義函數(shù))
1、打開VBA窗口
按ALT+F11調(diào)出VBA窗口,插入一個用戶模塊。
2、編寫代碼
通常自定義函數(shù)是用function命令開始的,在這個命令后面給它指定一個名字和參數(shù)
把下面這個自定義函數(shù)代碼粘貼到剛插入的用戶模塊中就可以使用了。
Function sjxmj(di, gao)
sjxmj = di * gao / 2
End Function
這段代碼非常簡單只有三行,先看第一行,其中sjxmj是自己取的函數(shù)名字,括號中的是參數(shù),也就是變量,di表示“底邊長”,gao表示“高”,兩個參數(shù)用逗號隔開。
再看第二行,這是計算過程,將di*gao/2這個公式賦值給sjxmj,即自定義函數(shù)的名字。
再看第三行,它是與第一行成對出現(xiàn)的,當(dāng)你手工輸入第一行的時候,第三行的end function就會自動出現(xiàn),表示自定義函數(shù)的結(jié)束。
3、使用自定義函數(shù)
回到EXCEL窗口,我們在D3單元格中輸入公式 =sjxmj(b3,c3) ,就會得到這一行的三角形面積了,它的使用方法同內(nèi)置函數(shù)完全一樣。
通過上面例子可以了解自定義函數(shù)的編寫和使用方法,下面再介紹一個稍微復(fù)雜點的自定義函數(shù)。
經(jīng)常對數(shù)據(jù)進(jìn)行處理的朋友可以會遇到多條件查找某一個數(shù)據(jù),一般這種情況需要編寫“數(shù)組公式”來解決,公式較長,也不易理解。
比如下面統(tǒng)計成績的表格,需要根據(jù)A1:D7的成績表,統(tǒng)計出兩門功能都在90分以上的學(xué)生人數(shù)。
大家可以看到在H3單元格中的公式比較長,理解起來也有一定難度。
我們通過自定義函數(shù)也可以得到正確結(jié)果,函數(shù)代碼如下:
Function 統(tǒng)計(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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
這個函數(shù)用了五個參數(shù)(因為涉及到一個區(qū)域和四個條件)
參數(shù)a表示要統(tǒng)計的區(qū)域,在此例中為B2:E7
參數(shù)b表示要統(tǒng)計的是哪一個班級,在此例中為G3單元格
參數(shù)c表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為3
參數(shù)d表示數(shù)學(xué)成績相對于區(qū)域第一列向右的列數(shù),在此例中為4
參數(shù)e表示分?jǐn)?shù),在此例中為90分
提示:要注意參數(shù)c和d“相對”于“區(qū)域”的列數(shù),并非是從A列開始向右的列數(shù)。
把上面這段代碼也粘貼到用戶模塊中就可以使用了
回到EXCEL窗口,在H3單元格中輸入公式 =統(tǒng)計($B$2:$E$7,G3,3,4,90) 就可以顯示正確結(jié)果了。
Function 統(tǒng)計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
統(tǒng)計 = 統(tǒng)計 + 1
End If
Next
End Function
在表格中的H3單元格中輸入公式 =統(tǒng)計2($B$2:$E$7,G3) 就可以了。
從上面可以看出,自定義函數(shù)可以使用“漢字”做為函數(shù)的名字,方便記憶,也可以根據(jù)實際情況對參數(shù)進(jìn)行簡化。
通常這種時候需要在H3單元格使用數(shù)組公式 =SUM(IF(($B$2:$B$7=G3)*($D$2:$D$7>=90)*($E$2:$E$7>=90),1,0))
提示:
如果我們的成績表格式是固定的,各科目成績位置相對于區(qū)域也是固定的,而且要統(tǒng)計的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個,如下:
看過Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧還看了:
1.Excel中進(jìn)行自定義函數(shù)的操作技巧
4.Excel中2010版創(chuàng)建自定義函數(shù)的操作技巧
提示:
如果我們的成績表格式是固定的,各科目成績位置相對于區(qū)域也是固定的,而且要統(tǒng)計的分?jǐn)?shù)也是固定的90分,就可以在自定義函數(shù)中將參數(shù)的數(shù)量減少到兩個,如下:
看過Excel中進(jìn)行自定義函數(shù)的設(shè)置技巧還看了:
1.Excel中進(jìn)行自定義函數(shù)的操作技巧
4.Excel中2010版創(chuàng)建自定義函數(shù)的操作技巧