搭建神奇的月光寶盒,讓NOW函數的歷史時間重現

到現在為止,在我們這個平臺,函數講的越來越多了。之前也反覆的提到,僅某一個函數,往往功能單一,但函數的組合卻功能強大。強大到什麼程度?猶如月光寶盒,可以讓NOW函數的歷史時間再現。

還是講具體的實例吧,下面的圖表是某公司外購材料的送檢記錄,當序號、材料、訂貨、到貨、送檢、送檢結果出來之後,要在完成時間中自動的錄入最後送檢結果錄入的時間,表示此條記錄的完成。那麼在G3單元格需要錄入一個的公式,這個公式要實現:在A1到F1單元格都不是空時將返回當前的時間,即NOW時間。

搭建神奇的月光寶盒,讓NOW函數的歷史時間重現

如何做到呢?別急,我們還是一步一步講解。

首先我們要引入一個函數COUNTBLANK()。函數講解,COUNTBLANK函數是計算指定單元格區域中空白單元格的個數,或是判斷指定區域是否有空的單元格。

語法是COUNTBLANK(range),其中range 就是指定的區域。

有了上面的函數,是否就可以錄入公式=IF(COUNTBLANK(A3:F3), "",NOW())呢?我們閉上眼睛想一想,是不是呢?答案是否定的。

首先,當我們把A3到F3所有的單元格都錄入了之後,這時依照上面的公式在G3中肯定是會出現此時的NOW時間。那麼是不是問題就解決了呢?還沒有。我們往下分析。

其次,當我們完成記錄,保存,關閉工作表。

第三,當我們再次打開工作表,查看記錄時會發現,這時的記錄又是當前的NOW時間了。不是當初的時間了。

問題出現在這裡。那麼怎麼去解決呢?這就要搭建我們的月光寶盒,讓NOW的歷史時間再現了。

之前我們的公式是=IF(COUNTBLANK(A3:F3), "",NOW()),顯然,問題出在NOW()這裡,那麼採用什麼代替NOW()呢。

我們再用一層IF判斷函數:IF(G3= "",NOW(),G3),用這個公式來代替上面的NOW()就可以了。構成了公式=IF(COUNTBLANK(A3:F3),"",IF(G3="",NOW(),G3))。公式截圖如下:

搭建神奇的月光寶盒,讓NOW函數的歷史時間重現

但是細心的讀者馬上會發現另外的問題,就是這裡出現了循環引用,就是當G3不為空時返回G3,又是新的問題,怎麼解決這個問題呢?

這是個迭代。我們先看看迭代的解釋,迭代的意思是反反覆覆地執行某一步驟、程序或者事件。我們要利用迭代就必須先讓它為我所用,我們先對它進行設置。好在EXCEL中有現成的設置。

打開工具,選項,看下面的截圖。勾選迭代計算,最多迭代次數選為1,好了,設置完成。

搭建神奇的月光寶盒,讓NOW函數的歷史時間重現

看下面返回的結果:

搭建神奇的月光寶盒,讓NOW函數的歷史時間重現

好了當送檢結果錄入後,會在G3單元格中顯示當前的時間。

下面看看我們的月光寶盒靈不靈,我先關閉了當前文件,然後再次打開,NOW時間為21:07。上面的黃色區域時間沒事任何變化,好,月光寶盒成功搭建完成。

搭建神奇的月光寶盒,讓NOW函數的歷史時間重現

今日內容總結:

1.COUNTBLANK 函數可以返回指定區域單元格的空的個數,也可以返回是否有空的單元格。

2.IF判斷函數加上迭代操作可以搭建月光寶盒函數,可以使NOW的歷史時間再現。


分享到:


相關文章: