欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    今天介紹一個(gè)技巧,不用VBA,就可以自動(dòng)記錄輸入的時(shí)間。這個(gè)技巧用到了Excel中的迭代計(jì)算

    01

    數(shù)據(jù)和效果

    假設(shè)有一個(gè)表格,記錄了每一份潛在客戶的信息,我們需要記錄客戶是否完成繳費(fèi),

    如果有客戶完成了繳費(fèi),我們會(huì)在“費(fèi)用”列中對(duì)應(yīng)單元格手工輸入金額,并且在“續(xù)費(fèi)時(shí)間”列自動(dòng)記錄繳費(fèi)的時(shí)間(假定,我們錄入金額的時(shí)間就是客戶完成 繳費(fèi)的時(shí)間)。

    如果客戶繳費(fèi)比較集中,就會(huì)導(dǎo)致比較忙亂,所以,我們希望輸入金額后,能夠在續(xù)費(fèi)時(shí)間列中自動(dòng)記錄當(dāng)前時(shí)間,就像下面的動(dòng)圖所顯示的效果一樣:

    02

    方法分析

    使用VBA可以很容易完成這個(gè)工作。不過(guò)對(duì)于大部分同學(xué)來(lái)說(shuō),并不能自如的使用VBA,因此可以暫時(shí)排除這個(gè)方案。

    所以,我們考慮使用函數(shù)。

    記錄當(dāng)前的時(shí)間有一個(gè)函數(shù):NOW()。這個(gè)函數(shù)的作用就是返回當(dāng)前的時(shí)間:

    我們可以在費(fèi)用列中輸入公式:=IF(D3"",NOW(),"")

    vba 在表格中記錄時(shí)間_access vba 添加記錄_vba 提取網(wǎng)頁(yè)表格數(shù)據(jù)

    這里我們使用了一個(gè)IF函數(shù)來(lái)判斷:

    如果D3不等于空(完成繳費(fèi)),就使用NOW()函數(shù)返回當(dāng)前時(shí)間

    如果D3等于空(未繳費(fèi)),就返回空

    這樣,只要我們?cè)贒3單元格中輸入金額,就會(huì)自動(dòng)記錄當(dāng)前時(shí)間。

    這里要提醒一下,缺省情況下,這個(gè)公式所在的單元格只會(huì)顯示時(shí)間,如果希望顯示日期和時(shí)間,請(qǐng)將該單元格的格式設(shè)置為自定義格式:

    這樣,看似解決了問(wèn)題。但是這個(gè)方法實(shí)際上并不能完成我們的需求:

    如果你后續(xù)修改了其他的費(fèi)用單元格(增加或者刪除),所有人的續(xù)費(fèi)時(shí)間都會(huì)顯示為相同的時(shí)間值:

    所以,此路不通!

    03

    一個(gè)很多人不了解甚至害怕的特性:循環(huán)引用和迭代計(jì)算

    vba 提取網(wǎng)頁(yè)表格數(shù)據(jù)_vba 在表格中記錄時(shí)間_access vba 添加記錄

    這里我們需要利用Excel的一個(gè)特別功能:迭代計(jì)算

    大部分同學(xué)對(duì)這個(gè)特性很陌生。其實(shí),有相當(dāng)多的同學(xué)應(yīng)該在不了解的情況下接觸過(guò)特性了。例如,下面這個(gè)對(duì)話框,有些同學(xué)一定遇見(jiàn)過(guò):

    當(dāng)你寫(xiě)了一個(gè)公式,回車(chē)確認(rèn)輸入后,也可能會(huì)彈出這個(gè)對(duì)話框。

    這個(gè)對(duì)話框是說(shuō),你的單元格存在“循環(huán)引用”。什么是循環(huán)引用呢?簡(jiǎn)單說(shuō),就是一個(gè)單元格引用了自身。比如在A2中輸入公式:=A2。當(dāng)然,你一般不會(huì)犯這種錯(cuò)誤,所以最簡(jiǎn)單的循環(huán)引用的場(chǎng)景是經(jīng)過(guò)兩次公式引用到自己:

    在A2單元格中輸入公式:=B2,然后在B2單元格中輸入公式:=A2,這樣從A2的角度看就是:A2--->B2---A2,就必然會(huì)出現(xiàn)這個(gè)對(duì)話框。

    真正的循環(huán)引用有可能很復(fù)雜,比如B引用A,C引用B,D引用C,E引用D,然后A引用D,此時(shí)引用鏈?zhǔn)沁@樣的:A--->B--->C--->D--->E---A。這個(gè)引用鏈越長(zhǎng),你就越難從公式中發(fā)現(xiàn)誰(shuí)引用了誰(shuí),何況有些公式還很復(fù)雜。此時(shí),需要用到一個(gè)工具:錯(cuò)誤檢查。

    在公式選項(xiàng)卡中,可以找到這個(gè)工具:

    Excel會(huì)將循環(huán)引用的鏈條用藍(lán)色箭頭線標(biāo)識(shí)出來(lái)。

    那么,發(fā)生了循環(huán)引用怎么辦?

    循環(huán)引用往往是個(gè)錯(cuò)誤,是我們手誤造成的。一旦發(fā)生,需要仔細(xì)檢查公式,然后修改。如果公式比較長(zhǎng),需要花比較長(zhǎng)的時(shí)間進(jìn)行檢查,還不一定檢查的出來(lái)。有時(shí),可以將所有相關(guān)公式刪除掉,然后重新輸入公式。

    但是,有的時(shí)候,我們需要這個(gè)循環(huán)引用。這時(shí),我們實(shí)際上需要的是迭代計(jì)算。

    所謂迭代計(jì)算vba 在表格中記錄時(shí)間,是說(shuō)我們用同樣的規(guī)則,連續(xù)執(zhí)行N次。舉個(gè)例子來(lái)說(shuō):

    vba 提取網(wǎng)頁(yè)表格數(shù)據(jù)_vba 在表格中記錄時(shí)間_access vba 添加記錄

    假設(shè)我們把B2當(dāng)作一個(gè)未知數(shù),計(jì)算規(guī)則(即公式)是:=B2+1

    執(zhí)行一百次(N=100)

    初始值B2:=0(因?yàn)榇藭r(shí)B2是空的)

    第1次:0+1=1

    第2次:1+1=2

    第3次:2+1=3

    第4次:3+1=4

    ......

    第N次:N-1+1=N

    我們來(lái)看一個(gè)實(shí)際的例子:

    假設(shè)在B3單元格中輸入公式:=B2+1,

    結(jié)果只會(huì)是1,因?yàn)锽2單元格沒(méi)有變化,沒(méi)有任何迭代。要想迭代,我們需要將公式計(jì)算結(jié)果返回到B2中,然后才能往下多次計(jì)算。

    因此,我們需要在B2中輸入公式:=B2+1

    vba 提取網(wǎng)頁(yè)表格數(shù)據(jù)_access vba 添加記錄_vba 在表格中記錄時(shí)間

    此時(shí),B2結(jié)果為0。這是因?yàn)榇藭r(shí)發(fā)生了循環(huán)引用(B2--->B2),所以根本沒(méi)有計(jì)算。

    要想實(shí)現(xiàn)這個(gè)迭代過(guò)程,你需要在Excel中激活迭代計(jì)算。

    點(diǎn)擊文件選項(xiàng)卡,然后點(diǎn)擊選項(xiàng):

    在選項(xiàng)對(duì)話框中,左邊選擇“公式”,右邊勾選“啟用迭代計(jì)算”:

    注意,缺省的迭代次數(shù)是100,精度是0.0001。這兩個(gè)值決定迭代什么時(shí)候終止。

    所有的迭代必須有終止條件,否則Excel就會(huì)陷入死循環(huán)。這里有兩個(gè)終止條件:一個(gè)是迭代次數(shù),缺省情況下,最多迭代100次。精度是另一個(gè)終止條件,當(dāng)本次的計(jì)算結(jié)果跟上一次的計(jì)算結(jié)果相差小于等于精度時(shí),迭代就會(huì)終止。

    你可以試試將迭代次數(shù)設(shè)一個(gè)很大的數(shù)試試(比如100萬(wàn))。

    點(diǎn)擊確定后,返回Excel:

    此時(shí),B2單元格的值變成了100。

    這是因?yàn)椋珺2中的公式:=B2+1發(fā)生了100次迭代計(jì)算。

    04

    vba 在表格中記錄時(shí)間_access vba 添加記錄_vba 提取網(wǎng)頁(yè)表格數(shù)據(jù)

    自動(dòng)記錄時(shí)間

    現(xiàn)在我們利用這個(gè)特性,實(shí)現(xiàn)自動(dòng)記錄輸入輸入時(shí)間。

    在續(xù)費(fèi)時(shí)間列中,輸入公式:=IF(D3="","",IF(E3"",E3,NOW()))

    這個(gè)公式仍然是通過(guò)最外面IF公式判斷D3,根據(jù)D3的值,決定是顯示時(shí)間還是空值。這個(gè)最外面的IF很簡(jiǎn)單vba 在表格中記錄時(shí)間,重點(diǎn)是內(nèi)層的IF公式:IF(E3"",E3,NOW())

    這個(gè)公式根據(jù)E3進(jìn)行判斷:

    如果E3不為空值,返回E3。注意這時(shí)已經(jīng)發(fā)生了迭代,只不過(guò)根據(jù)精度條件,一次就終止了)

    如果E3空值,返回NOW(),即當(dāng)前時(shí)間

    這樣,比如D3中輸入費(fèi)用時(shí),會(huì)發(fā)生以下情況:

    如果E3原來(lái)為空,那么就會(huì)返回當(dāng)前時(shí)間。這是一個(gè)客戶完成繳費(fèi)后正常發(fā)生的情形

    此時(shí)E列其他單元格有兩種情況,要么為空,要么已經(jīng)記錄了時(shí)間。如果已經(jīng)記錄了時(shí)間,根據(jù)內(nèi)層的IF公式,這個(gè)值不變。如果沒(méi)有記錄時(shí)間,說(shuō)明對(duì)應(yīng)的費(fèi)用列是空的,也就不會(huì)有值。所以不會(huì)發(fā)生所以時(shí)間都變?yōu)楫?dāng)前時(shí)間的情況。

    總結(jié)

    本文介紹的這個(gè)技巧是一個(gè)非常有用的技巧。因?yàn)橛辛说?jì)算,使我們不用編程就可以完成很多原來(lái)必須依靠編程或者復(fù)雜的表格設(shè)計(jì)才能實(shí)現(xiàn)的結(jié)果。

    這里的公式實(shí)際上很簡(jiǎn)單。不過(guò)是這個(gè)迭代計(jì)算需要花點(diǎn)心思去理解一下。一旦你理解了這個(gè)技巧,在很多場(chǎng)景中都可以利用它簡(jiǎn)化表格設(shè)計(jì),甚至實(shí)現(xiàn)原來(lái)實(shí)現(xiàn)不了的功能。后面我會(huì)為大家介紹使用這個(gè)技巧的其他的應(yīng)用場(chǎng)景。

    趕緊用起來(lái)吧!

網(wǎng)站首頁(yè)   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有