前景提要按照計(jì)劃,今天將會(huì)是函數(shù)篇的最后一節(jié)了,函數(shù)篇已經(jīng)持續(xù)更新了23篇了,前前后后也是和大家分享了不少VBA中的函數(shù)知識(shí),有些函數(shù)可能大家并不是很在意,因?yàn)樗墓δ懿⒉皇呛軓?qiáng)大,有些函數(shù)大家則是非常的喜歡,因?yàn)槟軌驇椭覀兘鉀Q眼下的不少的問(wèn)題,不過(guò)學(xué)習(xí)自然是要從基礎(chǔ)做起,不能有挑食的習(xí)慣,所以雖然函數(shù)食之無(wú)味,但是棄之又太可惜了,大家還是要多溫習(xí)之前學(xué)過(guò)的函數(shù)篇章的。 今天我們繼續(xù)分享函數(shù),最后一個(gè)函數(shù)知識(shí)了,今天的這兩個(gè)函數(shù)也是和工作比較貼近的,大家應(yīng)該會(huì)比較喜歡,就是數(shù)據(jù)的取整,和小數(shù)點(diǎn)后面位數(shù)的選擇。
先說(shuō)說(shuō)取整吧,針對(duì)取整,今天打算說(shuō)兩個(gè)函數(shù),一個(gè)就是fix函數(shù),一個(gè)是round函數(shù),為什么要一次介紹兩個(gè)呢?之所以將這兩個(gè)函數(shù)放在一起說(shuō),是因?yàn)檫@兩個(gè)函數(shù)雖然說(shuō)作用一樣,但是產(chǎn)生效果則是不同的,fix函數(shù)在取整的過(guò)程中,不會(huì)四舍五入,整數(shù)部分是多少,他取整的結(jié)果就是多少,而round則不同,他會(huì)四舍五入,所以再使用的時(shí)候需要根據(jù)不同的場(chǎng)景和需求來(lái)使用,round函數(shù),還有設(shè)置小數(shù)點(diǎn)后面的位數(shù)的功能。
假設(shè)下面的這份表是某商城的員工再上個(gè)星期的銷售業(yè)績(jī)綜合的表,店主想要知道自己的這些員工再上個(gè)星期的工作狀態(tài)和銷售能力,所以他需要用下面的這份表來(lái)做為參照,但是從銷售情況來(lái)看,有些員工的銷售額有很多的小數(shù)點(diǎn),店主覺得這樣看起來(lái)不方便,覺得取整數(shù)部分來(lái)看比較的好,那么如何只取整數(shù)部分呢? Sub test()Dim i&For i = 4 To 12 Cells(i, 3) = Fix(Cells(i, 2))Next iEnd Sub 嗯,不錯(cuò),成功的將所有的銷售額的整數(shù)部分全部提取出來(lái)的,并且沒有出現(xiàn)四舍五入的情況,單獨(dú)看整數(shù)部分,我們會(huì)發(fā)現(xiàn),a5和a9的銷售水平是最好的,之后其他的幾位同事的水平就有點(diǎn)層次不齊了,最近的店鋪的業(yè)績(jī)并不算是太好,這些銷售能力不達(dá)標(biāo)的員工,可以考慮將他們撤退了,選擇留下來(lái)一些更加有實(shí)力的員工,這樣不僅僅可以提升效率,也可以節(jié)省成本,但是單純從整數(shù)部分來(lái)看,好像a1,a1的銷售紀(jì)錄都是差不多的,如果要按照優(yōu)勝劣汰的方式的話,起碼要有一個(gè)排名,這兩人的成績(jī)看起來(lái)差不多,那么我們?cè)偎纳嵛迦胍幌氯≌伞?/p> Sub test()Dim i&For i = 4 To 12 Cells(i, 4) = Round(Cells(i, 2))Next iEnd Sub 數(shù)據(jù)的結(jié)果上左邊一列的結(jié)果,稍微有一些不同,我們可以看到a2的成績(jī)出現(xiàn)了變化,因?yàn)樗匿N售金額是1000.9,他再取整的過(guò)程中出現(xiàn)了四舍五入的情況,同樣的情況也出現(xiàn)在了a4身上,這樣就可以比較出來(lái)在整體排名上上,a2的成績(jī)是要好過(guò)a1的,a1和a8是倒數(shù)的兩名銷售員。 當(dāng)然取整的方法計(jì)算起來(lái)比較方便,但是終究并不是最標(biāo)準(zhǔn),最接近真實(shí)值的,再平時(shí)的計(jì)算中,大家更加 采用的還是保留小數(shù)點(diǎn)后面一位數(shù)的方式來(lái)進(jìn)行匯總的,那么如何再VBA中實(shí)現(xiàn)保留小數(shù)點(diǎn)后面一位數(shù)呢? Sub test()Dim i&For i = 4 To 12 Cells(i, 5) = Round(Cells(i, 2), 1)Next iEnd Sub 設(shè)置小數(shù)點(diǎn)后面的位數(shù)的時(shí)候,依然還是使用Round函數(shù),不過(guò)這里我們發(fā)現(xiàn)Round后面多了一個(gè)小數(shù)點(diǎn),這個(gè)小數(shù)點(diǎn)就是設(shè)置保留幾位小數(shù)的,想要保留2位小數(shù)的話,就寫成2就好,以此類推。 總結(jié) ======================================================= 今天主要和大家分享了一下數(shù)據(jù)的取整和小數(shù)點(diǎn)位數(shù)的設(shè)定,在平時(shí)進(jìn)行計(jì)算的時(shí)候,這個(gè)功能還是有一定的需求的,大家需要注意的是,這幾個(gè)取整和小數(shù)點(diǎn)設(shè)點(diǎn)都是有一定的場(chǎng)景要求在其中的,比方說(shuō)fix則更加偏向于暴力取整,而round又有四舍五入的功效,這樣的效果也延續(xù)到了取小數(shù)點(diǎn)位數(shù)的時(shí)候,大家可以順延著來(lái)記憶。 好了,完成了本節(jié)的學(xué)習(xí)之后,我們將會(huì)進(jìn)入和日期相關(guān)的一些計(jì)算和運(yùn)用,也能夠解決部分童鞋對(duì)于日期方面的計(jì)算。 ======================================================= 本人已經(jīng)打算長(zhǎng)期分享一些網(wǎng)絡(luò)搜集的各種VBA知識(shí),如果大家有問(wèn)題也可以提出來(lái)共同解決,一起進(jìn)步,畢竟VBA的世界還是很大的。 如果你有什么想要分享的,或者有什么想要知道的,都可以留言等方式告訴我,大家一起努力進(jìn)步。 好了,明晚19:00,準(zhǔn)時(shí)再見。 |
|