函數(shù)其實(shí)就經(jīng)過測(cè)試和編寫好的代碼模塊嫡良,在Excel中更像是積木塊,用它可以組裝成各種的功能各異的模型献酗,如果你要自己設(shè)計(jì)積木木塊寝受,就需要有一定的知識(shí)儲(chǔ)備和設(shè)計(jì)理念并經(jīng)過很多的測(cè)試才能保證代碼的容錯(cuò)能力和兼容性,要不很容易出現(xiàn)問題罕偎,不過我們不用擔(dān)心很澄,Excel的工程師已經(jīng)把常用的功能都預(yù)先封裝在軟件中,我們只需學(xué)會(huì)使用颜及,就能解決80%的問題啦痴怨,為了方便我們能更好的玩耍,在軟件中貼心的準(zhǔn)備了函數(shù)幫助文檔器予,函數(shù)向?qū)У榷喾N錄入方式浪藻,不過今天我們先來聊聊函數(shù)的結(jié)構(gòu)是怎樣的?什么是易失性函數(shù)乾翔?搞定這些我們才能更好的盤它爱葵!
函數(shù)結(jié)構(gòu)
函數(shù)有3部分構(gòu)成施戴,函數(shù)名,執(zhí)行符號(hào)萌丈,內(nèi)部參數(shù)
函數(shù)結(jié)構(gòu)示意圖
函數(shù)名:在Excel中的函數(shù)名并不區(qū)分大小寫赞哗,函數(shù)錄入完成會(huì)統(tǒng)一轉(zhuǎn)化為大寫格式,通常為字母組合辆雾,在軟件中字母組合一般是不允許出現(xiàn)表達(dá)式肪笋,函數(shù)的參數(shù)中,必須用””或’’包裝成字符出現(xiàn)度迂,除非你自定義的名稱藤乙。
執(zhí)行符號(hào):英文狀態(tài)的(),當(dāng)錄入函數(shù)時(shí),輸入左括號(hào)(后完成參數(shù)錄入可直接回車惭墓,系統(tǒng)會(huì)自動(dòng)補(bǔ)充右括號(hào)),不過這種情況也只適合少一個(gè)),否則就會(huì)提示”發(fā)現(xiàn)公式中有拼寫錯(cuò)誤并試圖將其更正為”的對(duì)話框
公式修正界面示意圖
你點(diǎn)接受后會(huì)自動(dòng)錄入),是不是覺得輸入函數(shù)的時(shí)候就可以肆無忌憚啦坛梁!不好意思,你想多了腊凶,它沒有那么智能划咐,最好還是養(yǎng)成左右括號(hào)一起輸入后再輸入里面的參數(shù),否則代碼一多钧萍,有什么顏色提示也白費(fèi)褐缠!
注:單元格第1個(gè)符號(hào)=并不是執(zhí)行符號(hào),它叫引導(dǎo)符风瘦,有它Excel會(huì)自動(dòng)進(jìn)入公式錄入狀態(tài)队魏,不止函數(shù)錄入;
內(nèi)部參數(shù):出現(xiàn)在執(zhí)行符號(hào)的內(nèi)部弛秋,多個(gè)參數(shù)以英文逗號(hào)隔開器躏,參數(shù)主要分為兩類:必填參數(shù)和選填參數(shù)俐载,它們也有自己各自的屬性和功能
?必填參數(shù):類型多樣蟹略,文本,數(shù)字遏佣,日期時(shí)間挖炬,邏輯值或錯(cuò)誤編碼,它對(duì)函數(shù)的功能沒有影響状婶,是函數(shù)功能的基礎(chǔ)數(shù)據(jù)比如求和的數(shù)字或數(shù)字所在引用單元格范圍等意敛。
選填參數(shù):類型單一,值比較固定膛虫,通常用””或’’包括的單個(gè)字母或格式編碼草姻,邏輯值TRUE/1,FALSE/0; 數(shù)字(查詢字符開始的位置),小部分為查找結(jié)果的引用范圍;它通常會(huì)影響函數(shù)的功能稍刀,比如精確查找還是模糊查找撩独,在不填寫的情況下都為默認(rèn)值
提示:在函數(shù)的實(shí)例說明中敞曹,帶[]為可選參數(shù),其他為必填參數(shù)综膀,實(shí)際[]在現(xiàn)實(shí)中是不需要錄入的澳迫;
還有一個(gè)概念就是一個(gè)函數(shù)的執(zhí)行出現(xiàn)另一個(gè)函數(shù)參數(shù)中,這叫函數(shù)嵌套剧劝,只要參數(shù)內(nèi)部的函數(shù)執(zhí)行結(jié)果符合相應(yīng)參數(shù)規(guī)則橄登,并不受必填參數(shù)和選填參數(shù)的位置影響,不過有個(gè)不成文的建議讥此,盡量不要嵌套層數(shù)太多拢锹,如果必須嵌套多層,可以借助輔助列的來做暂论,這樣既能準(zhǔn)確排查中間的問題環(huán)節(jié)也能很好地實(shí)現(xiàn)功能需求面褐。多少為多呢?3層以上取胎。
函數(shù)可以按參數(shù)多少分為無參函數(shù)和有參函數(shù)展哭,而無參函數(shù)大部分是易失性函數(shù),那么這個(gè)易失性什么原因?qū)е碌哪匚胖渴裁礃拥牟僮鲿?huì)導(dǎo)致易失性的發(fā)生呢匪傍?這就是接下來要聊的內(nèi)容。
易失性
其實(shí)易失性并不是只有易失性函數(shù)上獨(dú)有觉痛,只不過它的表現(xiàn)比較明顯而已役衡,至于易失性出現(xiàn)的原因就是為了保證計(jì)算結(jié)果的準(zhǔn)確性,而Excel并不像其他軟件那樣有各種按鈕來更新計(jì)算結(jié)果薪棒,為了解決這個(gè)更新計(jì)算結(jié)果的問題手蝎,就引入的自動(dòng)計(jì)算的概念,怎么觸發(fā)這個(gè)功能呢俐芯?軟件默認(rèn)開啟棵介,打開保存文件會(huì)觸發(fā),錄入吧史、修改邮辽,刪除數(shù)據(jù)的操作也會(huì)觸發(fā),甚至你激活任意單元格 (雙擊)后回車或再單擊任意單元格也會(huì)導(dǎo)致重新計(jì)算贸营,重新計(jì)算又會(huì)導(dǎo)致某些函數(shù)在不同周期內(nèi)或操作產(chǎn)生不一樣的結(jié)果吨述,就有人給這些函數(shù)起了響亮點(diǎn)的名字叫易失性函數(shù)。
根據(jù)周期性的參考點(diǎn)的不同钞脂,易失性函數(shù)可以為固定周期易失性揣云,非固定周期易失性兩種,
固定周期易失性函數(shù)有:now(),today()冰啃,today()的周期為1天邓夕,now()為1秒肋层,在這個(gè)周期內(nèi)兩者都有一個(gè)穩(wěn)定的值。什么1秒也算棒崆ā栋猖?千萬別走這個(gè)誤區(qū),我說的固定周期汪榔,并不是時(shí)間的長(zhǎng)短為主要標(biāo)準(zhǔn)蒲拉,而是這個(gè)周期是個(gè)固定值。
非固定周期易失性函數(shù):rand()隨機(jī)數(shù)函數(shù)痴腌,重新計(jì)算后都會(huì)產(chǎn)生>=0且<1的隨機(jī)小數(shù)雌团,沒有固定周期性,易失性完全取決你的操作士聪。
哪什么操作才能引發(fā)易失性呢锦援?太多了啊,說不完啊剥悟,不過我們可以反向思考灵寺,什么不能引發(fā)易失性或重新計(jì)算呢?大致有四種情況:
1.手動(dòng)設(shè)置列寬区岗,行高而不是雙擊調(diào)整為合適列寬時(shí)略板,但隱藏行或設(shè)置行高值為0除外。
2.當(dāng)設(shè)置單元格格式或其他更改顯示屬性的設(shè)置時(shí)慈缔。
3. 激活單元格或編輯單元格內(nèi)容叮称,但按ESC鍵取消操作時(shí)。
4.人為修改的excel選項(xiàng)配置項(xiàng)藐鹤,將重新計(jì)算改為”手動(dòng)”計(jì)算瓤檐,默認(rèn)有兩種方式開啟計(jì)算:快捷鍵f9和文件保存的時(shí)候會(huì)觸發(fā)(換句話說:再次打開跟之前做的結(jié)果可能不一樣)。
手動(dòng)計(jì)算模式開啟示意圖
其實(shí)這個(gè)易失性本來就是偽命題娱节,因?yàn)椤币住钡某潭群茈y量化挠蛉,本來就是籠統(tǒng)的概念,很難形成標(biāo)準(zhǔn)括堤。這也是為什么現(xiàn)在對(duì)于易失性函數(shù)的每個(gè)人講解都不一樣碌秸,比如有人就說randbetween函數(shù)也算是易失性函數(shù)绍移,然它有沒有易失性完全取決的參數(shù)悄窃,比如randbetween(1,1)不論怎么重新計(jì)算產(chǎn)生的結(jié)果都是1,它的易失性體現(xiàn)在哪呢蹂窖?如果通過改變參數(shù)體現(xiàn)易失性轧抗,Excel又有哪些函數(shù)沒有易失性呢?至于這個(gè)知識(shí)點(diǎn)不用過于深究瞬测,其實(shí)易失性最終的目的是為產(chǎn)生結(jié)果的準(zhǔn)確横媚,如果你通過人為修改配置的方式纠炮,屏蔽易失性,哪你意味著你的表格結(jié)果并不是最終結(jié)果灯蝴,哪還有意義嗎恢口?
函數(shù)類型
函數(shù)除了有參和無參的分類方式,系統(tǒng)還根據(jù)函數(shù)的使用場(chǎng)景對(duì)函數(shù)進(jìn)行分類穷躁,共分12類耕肩,文本,數(shù)學(xué)和三角问潭,信息猿诸,邏輯,查找和引用狡忙,日期時(shí)間梳虽,統(tǒng)計(jì),財(cái)務(wù)灾茁,工程窜觉,多維數(shù)據(jù)集,兼容性和web函數(shù)北专,共計(jì)405個(gè)竖螃,哪我們應(yīng)該學(xué)習(xí)多少個(gè)呢?大概幾十個(gè)就夠了逗余,能滿足日常工作就夠了特咆,因?yàn)樘珜I(yè)性的功能會(huì)有專門的軟件來做,而用Excel做就有點(diǎn)拙荊見肘了录粱,如果用VBA來做哪就是另一回事了腻格,VBA的部分不再基礎(chǔ)知識(shí)講解里。至于我對(duì)函數(shù)這個(gè)概念的理解就這么多了啥繁,希望你能通過閱讀有所收獲菜职,如果喜歡就關(guān)注我吧,也歡迎你把遇到問題留言給我旗闽,我會(huì)逐一解答酬核!