[EXCEL分享]利用LARGE與SAMLL函數計算前後三名工資與轉VBA

50 views
Skip to first unread message

吳老師

unread,
Nov 28, 2018, 11:17:25 AM11/28/18
to EXCEL函數與VBA設計
[EXCEL分享]利用LARGE與SAMLL函數計算前後三名工資與轉VBA

這題主要是要先利用LARGE函數取得第三名的工資值,
再利用SUMIF作加總,再利用SMALL函數取得倒數第三工資值,
並與前三名相加,
另外,若用VBA做一樣的事,
最大問題是VBA裡沒有類似EXCEL裡的LARGE函數與SMAIL函數,
所以可以用Application.WorksheetFunction 再VBA裡引用EXCEL的函數,
這樣大大的可以讓VBA有更多的資源,可以不必自行撰寫自訂函數,
也可以做到像EXCEL的效果,但使用時還是要注意使用的方式。

問題:計算前三名+後三名的工資總和

公式
可以先分割為:
1.前三名
=SUMIF(B2:B10,">="&LARGE(B2:B10,3))
2.後三名
=SUMIF(B2:B10,"<="&SMALL(B2:B10,3))
3.LARGE排序(大到小)
=LARGE(B$2:B$10,ROW()-1)
4.SAMLL排序(小到大)
=SMALL(B$2:B$10,ROW()-1)
5.完整
=SUMIF(B2:B10,">="&LARGE(B2:B10,3))+SUMIF(B2:B10,"<="&SMALL(B2:B10,3))

VBA程式碼與教學影音:

吳老師 2018/11/29
Reply all
Reply to author
Forward
0 new messages