{eval=Array;=+count(Array);}
首先,我對這個問題持否定意見。
我十多年前曾經(jīng)用VBA+Access編寫過一個100多人使用的生產(chǎn)管理系統(tǒng),帶很多UI界面。可能有些人感覺這樣水平算比較高了吧,但我自己確實沒這種感覺。
一般講高手是一個相對的概念,是不是高手應該取決于對比對象。但我覺得使用會不會VBA來判斷Excel水平,這對比本身就不是公平的。類似于兩個人打游戲,其中一個會用外掛,我們顯然不能用會不會外掛來評判他打游戲水平高。
對于普通程序員,學習VBA難度很小,極短的時間就可以上手,但他很可能Excel很多函數(shù)都還用不好。事實上,一個人會了VBA,很可能遇到問題首先去想VBA怎么實現(xiàn),反而降低了探索Excel自身功能的動力。對于不會VBA的使用者來講,更有動力去挖掘Excel自身的各種功能。
我的意見僅針對這個問題本身,并非勸大家不要學習VBA。Excel功能無論多強大,但仍有靠自身無法實現(xiàn)的功能。熟練掌握Excel后,再有VBA作輔助,生產(chǎn)力會更上一個臺階。
以上都是個人意見,如果對我回答有興趣或異議,歡迎評論指正。
不一定哦!
這就像廣大非IT學習編程一樣,一定要編程才能提高工作效率嗎?其實,現(xiàn)在的作業(yè)工具(軟件)已經(jīng)足夠友好,使用門檻已經(jīng)很低了。不用編程,一樣可以高效作業(yè)。比如,快捷鍵加持,公式加持,熟練度加持等,Excel用起來,也能飛起來。
1、傳統(tǒng)的菜單到現(xiàn)在的Ribbon功能區(qū),按下ALT鍵,就能顯示他們的快捷鍵。熟練使用這些快捷鍵,左手鍵盤,右手鼠標,可以將Office玩得出神入化。筆者想起了以前講遙感的老師,整個講義板書,都是在Word上,邊講邊演示,那速度沒得說,很多同學去聽課,都是去欣賞他Word的各種騷操作的。其實基本工具箱里也沒啥,就是大家常見的圖形和特殊字符,但是在這位老師手上,就像會變魔術(shù)一樣,感覺是直接召喚到指定位置上的,人家不用任何公式編輯器,就能將各種復雜的公式,弄得漂漂亮亮的。
2、不僅是Word,Excel里的各種操作,比如單元格填充,改變字體和背景色,加邊框,常見函數(shù)等,都有對應的快捷方式。只需要經(jīng)常去用,自然熟能生巧,就像大家練習打字的指法那樣。具體,就不詳細介紹了,有很多類似的回答,大家可以去搜索學習。
示例引用(侵刪)
與數(shù)據(jù)打交道比較多的金融、證券、財經(jīng)、審計等行業(yè),素來流行表哥表姐的稱呼,這些表哥表姐不僅僅是指他們?nèi)粘9ぷ餍枰?jīng)常與表格軟件(如Excel、WPS)打交道,更是暗指他們是一個能夠熟練使用公式的群體。曾有不少網(wǎng)友說,因為自己能夠熟練使用公式,在單位里獲得了大神的待遇。
公式,的確配得上這樣的禮遇。因為,公式可以很簡單,也可以很復雜。比如簡單的=Left("ABC",1),復雜的如:
示例引用(侵刪)
1、公式匹配操作界面(單元格),雙擊編輯,回車結(jié)果,所見即所得,操作簡單,門檻較低。在處理大量數(shù)據(jù)時,或多或少都會依仗公式,比如橫向縱向求和,行列業(yè)務數(shù)據(jù)的計算等。
公式,不像快捷方式那樣固定和死板,公式能夠在一定程度上給予使用者靈活性。不同的公式,就像不同的積木,相互組合總能搭建出一個有效的計算模型。從分類上講,不僅涵蓋了財務、數(shù)學、統(tǒng)計等重度表格用戶,更是覆蓋了日期、文本、邏輯、信息、數(shù)據(jù)庫等通用功能。利用通用和特定行業(yè)公式,幾乎能應對表格中各種計算問題。
Excel函數(shù)簡單分類
功能豐富的公式,讓公式使用者有足夠的模型構(gòu)建材料,其中邏輯、信息、查找和引用公式,不僅服務于單元格,更服務于公式本身,成為公式組合的粘合劑,使得公式可以處理非常復雜的計算需求(當然公式也會變得非常復雜)。
2、公式不僅是Excel內(nèi)置命令的調(diào)用出口,更是表現(xiàn)得越來越像腳本語言。筆者在《
VBA是腳本語言嗎?
》《什么是腳本語言?為何VBA不算腳本語言?》中就提到,Excel中宏和公式,才是真正的腳本語言,他們才是離不開Office的大家閨秀,而VBA不是!公式就像是在調(diào)用函數(shù)一樣,而公式名就相當于函數(shù)名。如果大家寫過VBA自定義公式,那么就更能體會這句話。公式中的IF函數(shù),就類似于VBA中的IF語句一樣,可以構(gòu)建分支公式。不僅如此,公式中還可以構(gòu)建迭代遞歸(自己調(diào)用自己),比如規(guī)劃求解。在公式編輯欄中,使用F9就可以對公式進行調(diào)試。當編寫好公式時,回車就可以執(zhí)行,相當于將公式腳本提交給Excel解釋執(zhí)行。如此看來,編寫公式像不像在寫腳本呢?
筆者曾在《會寫Excel公式,算編程嗎?》里提到,會寫Excel公式,也算編程。公式也算編程?一度遭到很多網(wǎng)友的嘲諷。其實,OOP(面向?qū)ο螅┲螅殖催^一段時間函數(shù)式編程,很多人推崇備至。仔細想想,Excel的公式,不就是函數(shù)式編程的最早實踐么?不就是公式嵌套么?這個跟現(xiàn)在很流行的輕(低)代碼,機器寫代碼概念一樣,Excel中錄制宏,不早就在實踐機器寫代碼了么?其實很多東西,對于非職業(yè)IT們,不必舍近求遠。
如果說早期(2021年前)的Excel公式,符合腳本語言的定義(編寫->執(zhí)行,中間壓縮了編譯和鏈接環(huán)節(jié)),大家或許沒什么爭論。但是,要將其視為一門編程語言,大家還是很難接受的。首先,一般的腳本語言功能有限,僅能執(zhí)行簡單的自動化任務,多用于輔助場景而并非開發(fā)場景。其次,一般的腳本語言并非都是圖靈完備的,而常見的開發(fā)語言卻幾乎都是圖靈完備的。最后,公式?jīng)]法定義變量,支持的數(shù)據(jù)類型有限(數(shù)字、字符串和布爾值)。
Excel公式很難滿足圖靈測試,這就意味著并非所有計算問題都可以通過公式解決,而只能尋求VBA的彌補。這是很多高級公式玩家,到后面都或多或少轉(zhuǎn)向VBA的原因。Excel公式,雖然可以借助外在手段,實現(xiàn)自己調(diào)用自己,但公式本身卻難以實現(xiàn)自己調(diào)用自己。另外公式本身也不能自己擴展自己,她僅是有限功能的映射。因此,Excel公式在業(yè)界,很難被認可為是一門開發(fā)語言。
但是,事情卻在最近有了轉(zhuǎn)機,LAMBDA機制的引入,讓Excel公式具備了圖靈完備性,因此現(xiàn)在的Excel公式,真正的是一門開發(fā)語言了。讓我們開看看是怎么回事吧:
1、微軟聲稱,Office自1980年發(fā)布以來,Excel 改變了人們組織、分析和可視化數(shù)據(jù)的方式,為每天使用它的數(shù)百萬人提供了決策依據(jù)。其中,Excel公式承擔著非常關(guān)鍵的角色,用戶使用規(guī)模比世界上所有 C、C++、C#、Java 和 Python 程序員的總和還要多一個數(shù)量級。
2、因此,微軟認為是時候?qū)xcel公式升級為一門成熟的編程語言了。2019年ACM SIGPLAN編程語言原理研討會,宣布了重大進展:一是,豐富Excel公式數(shù)據(jù)類型,不再局限于文本和數(shù)字,并允許單元格包含流記錄,包括鏈接到外部數(shù)據(jù)實體。二是,動態(tài)數(shù)組允許普通公式計算溢出到相鄰單元格。
3、2020年12月,推出LAMBDA機制,允許用Excel的公式語言編寫新函數(shù),這些新定義的函數(shù)可以調(diào)用其他LAMBDA定義的函數(shù),任意深度,甚至遞歸。也就是說,有了LAMBDA,Excel公式就變成了圖靈完備的,可以勝任任何計算問題。
4、在函數(shù)式編程中,LAMBDA本身就是一種高度表達的編程結(jié)構(gòu),一個LAMBDA可以是另一個 LAMBDA或其結(jié)果的參數(shù),完全可以進行柯里化。因此,Excel公式,一躍成為函數(shù)式編程的典范,可稱之為公式語言。所以,編寫Excel公式,就是在編程了哦。
如果,前面的介紹顯得抽象空洞,那么來看下官方的實例吧:
1、計算直角三角形的斜邊長度,可以是這樣=LAMBDA(X,Y,SQRT(X*X+Y*Y)),也可以是這樣=LAMBDA(X,Y,LET(XS,X*X,YS,Y*Y,SQRT(XS+YS)))。該函數(shù)采用名為X和Y的兩個參數(shù),將X*X的值綁定到名稱XS,將Y*Y的值綁定到Y(jié)S,并返回SQRT( XS+YS)作為其結(jié)果。
2、遞歸反轉(zhuǎn)字符串,這在以前超出了Excel內(nèi)置公式,只能使用VB/VBA或JavaScript在公式語言之外編寫。但現(xiàn)在不必了,下例中將REVERSE定義為遞歸LAMBDA,它利用幾個輔助函數(shù)(HEAD和TAIL)分別計算第一個字符和除第一個字符以外的所有字符。
瞧,這就是函數(shù)式編程!
3、定義階乘函數(shù)。在以往的傳統(tǒng)公式中,名稱具有非常廣闊的應用場景,在使用傳統(tǒng)宏,數(shù)據(jù)有效性(下拉選項),條件格式等領(lǐng)域,都有著名稱的身影。在LAMBDA中,名稱在簡化表達和精簡邏輯上仍然具有強大的用途。比如一個復雜的LAMBDA,往往具有繁瑣的嵌套細節(jié),如果使用名稱來代替,就會清爽很多。上例1中的公式,用名稱定義為aa,則可以用aa(x,y)來調(diào)用該公式,這樣就無需在使用LAMBDA公式時重復整個公式。
即使不依賴遞歸定義的名稱,公式語言也是圖靈完備的,因為我們可以使用經(jīng)典的按值調(diào)用對遞歸函數(shù)定義進行編碼。比如下例中的階乘函數(shù):
是不是很神奇呢!
是不是擁有圖靈完備的公式,就可以遠離VBA了呢?當然,答案也是否定的。
雖然公式的所見即所得的使用模式廣受歡迎,具有良好的用戶基礎(chǔ),是公式的優(yōu)點。但復雜的嵌套公式,在可讀性上仍然存在很多問題。因此,復雜公式讓普通人難以掌握,最終淪落為少數(shù)極客的玩物。就前述的LAMBDA公式而言,很顯然目前的編輯框,是遠遠不夠的,它更需要1個專業(yè)的編輯器和調(diào)試環(huán)境,而目前并未配備。
其次,LAMBDA公式畢竟是2021年才推出的東西,需要在最新版上才能體驗。而大部分Excel用戶不一定都升級到了最新版,也就是說絕大部分Excel用戶仍然不具備使用圖靈完備公式的條件。這就需要VBA等第三方開發(fā)工具來彌補公式的某些缺陷。
最后,LAMBDA公式仍然和Excel的UI深度捆綁,即便圖靈完備,也是一款高度定制化的腳本語言。在可移植性、封裝性和性能等若干方面,仍然沒法和VBA等第三方獨立開發(fā)工具相媲美。因此,在特定應用場景,仍然離不開VBA這樣的編程工具。
1、了解Excel的功能種類,了解Excel可以做什么,不可以做什么
2、熟悉各種功能的手工操作
3、熟悉各種快捷方式,增加手工操作的手速
4、了解熟悉公式的類別和作用,熟練使用快捷鍵進行應用
5、深刻理解公式的優(yōu)缺點,知道如何在使用過程中調(diào)優(yōu)
6、對公式的不足,知道有哪些替代手段
7、從編程角度看待公式
8、進入業(yè)余編程領(lǐng)域,適度改造Office的使用方式,實現(xiàn)低烈度的定制化
9、磨練多年,有了編程的基本概念,擇機進入專業(yè)編程領(lǐng)域,實現(xiàn)高烈度的定制化
正如筆者在《明比閱歷淺,暗拼體力衰,指下講武德,碼上笑春風》中所說,非IT并不一定需要懂編程,這不是一個必選項,而是一個進化的可選項。熟悉成品軟件的使用方法,一樣可以高效作業(yè)。既然是非IT,那寫代碼就不是吃飯的事,而是加菜的事。所以非IT對自己的IT追求要定位清晰,那就是"錦上添花",最終達到"無心插柳柳成蔭"。
讓業(yè)務問題來驅(qū)動IT學習,讓業(yè)務需求來決定IT技能的涉入深度,是經(jīng)驗證非常有效的。非IT掌握編程與否,以及到哪種程度,要不要將自己打造成復合型人才,就要看自己的進取決心在哪里了。總之,搭上車,從里面看外面,那將是別人看不到的風景。
歡迎關(guān)注BtOfficer(收藏、點贊、關(guān)注+轉(zhuǎn)發(fā)),更多精彩仍在繼續(xù)哦(專欄文章將更系統(tǒng),更全面),有嚴肅而枯燥的技術(shù),也有輕松的嘮嗑,更有現(xiàn)成工具等你來拿,期待你的加入!剛開始接觸vba是因為excel內(nèi)置的函數(shù)以及各種東西已經(jīng)解決不了我的需求。所以拋開vba必要與否,我認為當excel函數(shù)已經(jīng)無法滿足你的需求,一定需要錄制宏或者編輯vba的時候,這個時候vba就是必學的。除非你可以告訴老板,這個東西我不干了,你想咋地?
比如當我們碰到如下的需求時,真的無法再手動了。
需求:某電商平臺招募了三方的代銷公司,約有320個公司,每個月根據(jù)銷售情況與供應商結(jié)算貨款。在只能使用excel沒有開發(fā)資源的情況下,我們要做到,求和匯總供應商當月每款產(chǎn)品的銷售額,貨款,并附上原表數(shù)據(jù)。且有固定的格式。每個供應商一個表。
在沒有erp的情況下,多帶帶復制粘貼新建表300余次我想可能就離瘋了不久了。
但是用vba,開始跑程序,一杯咖啡的時間都不用,數(shù)據(jù)就全做好了。
以下是我用vba做的一個小工具,開發(fā)給我發(fā)了原始訂單數(shù)據(jù)之后,放入制定的文件夾,點擊導出或批量導出,就可以很方便的和他人對接了。
ps:這邊沒有給出時間的選項,因為默認本月統(tǒng)計上月訂單。
雖然VBA的功能很強大,但沒人敢說精通吧,學了點皮毛,那不叫精通,那叫會使用,而對于大部分沒有IT技術(shù)基礎(chǔ)的excel平民來講,連學會基本的皮毛用法也只能望洋興嘆。
現(xiàn)在我要告訴你,學習Excel,并非精通VBA才是高手。
通過一款新興的國產(chǎn)無代碼開發(fā)平臺,即使你記不住多如牛毛的excel函數(shù)公式,也可以成為excel界的精英。
這是怎么一回事兒?請聽我娓娓道來。
這款新型的國產(chǎn)無代碼開發(fā)平臺叫云表企業(yè)應用平臺。
它的操作界面和excel長得很像,使用方法也和excel如出一轍,即拖拉拽。
云南小松
但需要注意的是,云表平臺有自己的獨立核心引擎,也不依賴于excel,開發(fā)管理軟件,有自己的一套開發(fā)邏輯。
在云表平臺這里,你的業(yè)務邏輯越嚴謹,業(yè)務知識越深厚,越有可能成為宗師級別的軟件開發(fā)者。
事實上,已有大牛通過云表平臺克隆了與金蝶K3功能完全一致的系統(tǒng)。
通過云表平臺開發(fā)出來的WMS、ERP、MES、OA、進銷存、供應鏈協(xié)同等管理軟件,功能是可以隨需而改的,完全支持二次開發(fā)。
如此一來,系統(tǒng)便能隨著企業(yè)的業(yè)務發(fā)展而成長。
日常工作中,用excel解決不了的事情,都可以交給它。
比如數(shù)據(jù)分析、數(shù)據(jù)透視等復雜的數(shù)據(jù)運算,消息推送,鬧鐘提醒,流程審批,權(quán)限控制,工作流,多人協(xié)同,小程序,網(wǎng)站,API,外接數(shù)據(jù)源,報表模板自定義打印,條形碼生成,與金蝶、用友、釘釘、企業(yè)微信、SAP、浪潮、電子秤、地磅、PDA、GPS等外部系統(tǒng)進行對接,生成移動端app......
免費版本為5并發(fā),40模板。
移動端app
像ucloud、中冶、中鐵、恒逸石化、云南小松等世界500強企業(yè)都在用它,中小型企業(yè)和個人使用者就更多啦!
免費的軟件獲取方式,在此奉上:
方法一:
1.我們app搜索“云表平臺”。
2.進入之后,在右上角三條杠處,找到“登錄”。(或者進去后直接點擊“免費注冊”)
3.信息填報完畢,即可在“管理控制臺”免費獲取。
方法二:
點擊我的頭像,進入個人主頁后,在下方找到“免費下載”。
贈人玫瑰,手有余香。如果能夠幫助到您,確實是一件值得開心的事情呢。那么,你有信心成為excel高手嗎?期待!
我覺得VBA多是解決一些重復性和復雜性工作的問題,如果處理的數(shù)據(jù)量不多而且處理沒有特別要求的話,真沒必要寫代碼,寫個代碼花的時間反而比較多,當今羅剛君老師開發(fā)的e靈插件,已經(jīng)可以解決不少國內(nèi)用戶的問題,再者高版本的office本身已經(jīng)很強大了,在一定程度上會減少VBA使用頻率,這是對于大部分用戶來說,當然考慮到各個人在實際工作中總會遇到這樣那樣的問題,能寫VBA當然更好??紤]到時間成本,使用頻率等的原因,如果遇到麻煩問題不多的話,也可以付費讓人代寫的。
我們常聽說Excel高手,很少聽到VBA高手。
VBA的確非常強大,但它是依附Excel而存在的。
其實Excel本身內(nèi)置的功能已非常強大了,如果能用Excel解決的問題,就沒有必要搬到VBA里去做,將簡單的問題復雜化了。
真正的高手,是會盡量發(fā)揮Excel自身的威力的。
對于批量計算,批量分析,如果不會vba,你至少是個瘸子。用過vba的人為什么總想用它,就是因為嘗到了甜頭。對于科學計算,在excel已經(jīng)很強大的基礎(chǔ)上再加上vba,真是如虎添翼,我感覺可以完全取代以前的fortran語言,甚至是vb。實用、并能用它解決具體問題,才是王道!
是不是高手那么重要嗎?
Excel是一個工具,用工具解決工作中的問題。不同工作在使用Excel時需要的功能差別是很大的。有的只是統(tǒng)計下信息,打印出來存檔,這種你只需要會排版就可以了公式都不需要。沒必要強行拔高,工作用不到的功能,即使當時學會了,過后也會忘。
有的工作專門處理數(shù)據(jù),數(shù)據(jù)量大,規(guī)則復雜。這個就可能用到公式,VBA ,PowerQuery 等等復雜的工具。
能夠完美 高效地解決工作中的問題,就是高手。獲取報酬的是工作,而不是Excel。
如果還沒有參加工作,可以針對未來工作的方向,學習Excel,真正工作的時候,重新學習會快很多。
如果已經(jīng)參加工作,針對自己的工作學習Excel,不要求高求全,已解決實際工作問題為導向。
10
回答0
回答0
回答10
回答10
回答0
回答0
回答1
回答7
回答0
回答