養成哪些好習慣能讓 Excel 運行更快?

有時候就算表格只有1、2M大小的時候,在進行大規模的運算時右下角還是會跳出來運算進度,一等就是一兩分鐘,運氣不好就死掉。

有時候表格就算上20M也會很快處理掉。操作都是簡單的操作,十萬行左右規模的篩選之類的,可能旁邊還掛著VLOOKUP同時運算。

除去機器性能的影響外,還有什麼其他的習慣能讓EXCEL運算速度加快?跟數據格式之類的有關係么?


1. Vlookup應該是新手最常遇到的速度變慢問題。一般原因是在需要反覆vlookup時直接手動往下拖。這樣你每搜索一次都需要把整個搜尋區域複製一遍,然後傳輸到另個計算模塊中,哪怕每次搜索的區域都是一樣的。要避免這個問題的最簡的辦法就是用Ctrl+Shift+ 回車快捷鍵,可一次性搜索多個結果。具體方法是:選中你要輸出的整個區域,然後在公式欄輸入 =vlookup(選中整個你要搜索的數據區域,選中整個要被搜索的區域,後面的參數和平時一樣不變),然後不要按回車,而是按Ctrl + Shift + 回車。 過兩天我會上圖詳解。

2. 動態方程。有些方程,只要你的表格任何的地方發生改變,它都會被重新算一次,被稱之為動態方程。常見的有today(), offset等。如果此時你有什麼複雜的計算需用到這些方程的計算結果,那些計算也會被重新算。不到萬不得已千萬不要用這些方程。

3. 把Excel當資料庫用。大量的原始數據和中間計算結果直接存在表格里,一開始用的方便,數據量一大就是SB了。我們公司一個老交易員的Excel表格有250MB. 打開表格要1分鐘。這個問題並沒有什麼簡的解決辦法。最好的作法當然是把數據儲存交給專業語言如sql,但一般初學者要搞這個還是太麻煩。我的建議是當你的數據達到100MB的時候,恭喜你,你處理的工作已經開始有點複雜了,去學門專業的編程語言吧。建議的順序是:VBA, MATLAB, SQL.

4. 計算沒有調成手動。表格大,關聯度複雜的時候,經常牽一髮而動全身,導致修改時異常痛苦。把計算模式改成手動,這樣等改完了只用算一次就行了。

5. VBA代碼反覆讀取數據。這也是個新手常見問題,有些入門級的VBA教材還直接這樣教,害人不淺。最常見的案例是,要處理一個表格,比如把每個行加起來,寫VBA代碼時,算完一行輸出一行,再讀取下一行的數據。。。一定要記住,表格與VBA之間的溝通非常非常非慢,VBA內自己的數據讀取調整非常非常快,因此若干要處理一個表格,一定要先把整個表格讀進去,在裡面處理完了一次性輸出。

6. 我的經驗是,如果是需要反覆使用的表格,能用VBA實現的,則盡量避開在表格內使用公式。例如,你做了一個界面,顯示某個表格的第N列的數據,N由用戶決定。有的人在輸出區域直接寫上公式。我一般是做個按鈕,點完以後通過VBA把用戶要的結果抄過來。這樣不僅塊,而且可控,不會出現公式人不小心刪了之類的鬼事。 我總覺得若長期堅持用表格內公式而避開VBA容易走上邪路。我們公司有位分析師就這樣,寫表格內公式已經寫成神了,公式動不動就要寫3、4行!各種INDEX MATCH 疊在一起,看上去像天書。

7. 複雜點的數據計算還是彆強求VBA了吧。用其他語言寫個dll插件速度會快很多。


就因為打開知乎多看了一眼,讓我瞌睡少睡了二個小時。為了回答這個問題,我將本人新出版的《「偷懶」的技術:打造財務Excel達人》第一章使用Excel的理念心法的內容,結合搜集到的資料,補充完善,修訂成本答案,盡量體系化、學術化,以符合知乎的專業精神。希望對你有幫助。

要提高表格的計算效率,可考慮從以下方面進行規劃和優化:

一、 首先要合理設計數據的布局,這是計算效率得到保障的前提

Excel引用訪問本工作表、不同工作簿或工作表數據的速度是有區別的,通常計算指向其他工作表的引用比計算工作表內的引用速度要慢。當數據計算量較大時,就必須考慮數據的整體布局:數據是分工作簿保存、分工作表保存,還是保存在同一工作表。

基於整體性原則,如果是清單型數據表格,可能的話,盡量將數據整合同一工作表,至少盡量在同一工作簿。

如果不能整合在同一工作簿,寧願使用少量的大型工作簿,也不要使用數量較多的小型工作簿。

儘可能地避免工作簿間的鏈接,對外部工作簿進行鏈接,既影響表格的打開速度,並且當工作簿移動或刪除時,還容易出現斷鏈,不易於查找和修復。

二、
不可避免引用其他工作簿時的提速技巧

對關閉的工作簿盡量使用簡單的直接單元格引用。這樣做可以避免在重新計算任何工作簿時重新計算所有鏈接的工作簿。

如果不能避免使用鏈接的工作簿,最好將它們全部打開而不是關閉,並且表格打開順序也有講究,要首先打開要鏈接到的工作簿,然後再打開包含鏈接的工作簿。一般來說,從打開的工作簿比從關閉的工作簿中讀取鏈接的速度要快。

進一步提速的「斷舍離」大法:

斷:數據量大的表格,應將已經計算出結果且不會再更新的單元格的公式計算結果採用選擇性粘貼方式轉化為數值,以減少計算量;

舍:盡量不要大範圍使用計算量大的功能或公式。比如:儘管條件格式和數據有效性的功能非常實用,數組公式運算功能也非常強大,但是,大量使用它們會明顯降低計算速度,除非你願意忍受蝸牛般的運算速度,否則,不要大範圍使用數據有效性、條件格式和數組公式;

離:如果某張工作表需要進行大量運算,且其他工作表對它的引用較少,可考慮將其移出本工作簿。以免每次重新計算時,影響工作簿的整體計算速度。

三、 原始數據要規範

原始數據一定要規範,否則,還要使用函數公式清洗不規範的數據,徒增中間環節,影響計算速度。比如數據的來源不是手工輸入,是從其他系統導出,導出的數據可能並不規範,比如數字是文本格式、數字後有空格、不可見字元,這些數據就沒法直接參与運算,如果不手工整理成規範數據,還得用函數公式進行規避,這就大大影響計算速度。

四、 要關注公式函數的計算效率,盡量使用效率高的函數,或使用其他功能代替。

1.
非必要的情況下,不使用可變函數(易失性函數)。

Excel的可變函數有:RAND、NOW、TODAY、OFFSET、CELL、INDIRECT
和 INFO。可變函數有個特點,當數值發生變化時,每次都要重新計算,因而會影響表格的計算性能。

比如,我們常用的下面的公式來定義動態區域:

=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)

它的好處是:會自動擴展以包含新條目,但表格的計算性能會降低,這是因為 OFFSET 是可變函數,並且由於 OFFSET 中的 COUNTA 函數必須檢查很多行,計算效率較低。

一般情況下,我們可以使用Excel的表格功能來代替動態區域(Excel 2003中稱為列表)。表格功能非常實用,當表格的最末行最末列添加記錄或欄位後,引用此表格的公式或透視表會自動擴展相關區域,比起使用自定義名稱來定義動態區域更方便。

2.
使用其他行和列計算並存儲中間結果一次,以便在其他公式中重複使用它們。並且,如前所述,儘可能引用其他單元格已有的計算結果,這樣可提高運算效率。

在C2單元格輸入公式:

=SUM($A$2:$A2)

然後向下填充公式到 C2000。如上圖。B列的公式是上一累加結果加上本行數字。B列的公式是引用了上一行單元格的計算結果,B列公式比C列公式單元格引用總數減少了 500 倍,計算量大大減少。

3.
減少每個公式中的引用數,最大程度地減少函數中的引用單元格範圍。

儘管在 Excel 2007以後的版本中,數組公式可以處理整列引用,但是這會強制計算列中的所有單元格,包括空單元格。這樣會使表格計算起來很緩慢。

4.
儘可能使用最有效的函數(一般情況下自定義函數慢於 Excel 中的內置函數),編製適當的公式,儘可能減少公式的計算次數

=IF(ISERROR(VLOOKUP("龍逸凡",$A$2:$C$1000,3,0)),"查無此人",
VLOOKUP("龍逸凡",$A$2:$C$1000,3,0))

如果表格A2:A1000中有「龍逸凡」, 使用上面這個公式,則 Excel 要運算VLOOKUP函數兩次。Excel 2007以後的版本中,可以使用 IFERROR 來減少運算的次數:

=IFERROR(VLOOKUP("龍逸凡",$A$2:$C$1000,3,0)," 查無此人")

五、 非必要的情況下不使用會觸發重新計算的操作

以下操作會觸發重新計算:

1.
在自動模式下單:擊行或列分隔符。

2.
在工作表中插入或刪除行、列或單元格。

3.
添加、更改或刪除已定義名稱。

4.
在自動模式下重命名工作表或更改工作表位置。

5.
在表格中使用篩選、隱藏或取消隱藏行。

6.
在自動模式下打開工作簿。如果工作簿上次由不同版本的 Excel 計算,則打開工作簿通常導致完整計算。

7.
選中了「保存前自動重算」選項的情況下在手動模式下保存工作簿。

六、 可能的情況下先對數據進行排序,再使用查找引用。儘可能避免對未排序數據執行查找,因為速度很慢。

1.
如果使用完全匹配選項,則函數的計算時間與找到匹配項之前掃描的單元格數成比例。對於在較大區域內執行的查找,此時間可能非常長。對排序數據使用 VLOOKUP、HLOOKUP 和
MATCH 的近似匹配選項的查找時間很短,並且不會根據所查找的區域長度顯著增加。

2.
因為完全匹配查找可能很慢,所以應該考慮使用以下可以提高性能的方法:

? 使用一張工作表。使查找和數據位於同一工作表中運行速度更快。

? 如果可以,請首先對數據進行排序,並使用近似匹配。

? 如果必須使用完全匹配查找,請將要掃描的單元格區域限制在最小範圍內。使用動態區域名稱或表格(列表)功能,而不是引用大量行或列。

七、
做到了前面六點,表格的運算速度還是很慢時,將Excel的計算模式改為手動計算,在需要時再重新計算。

在手動計算模式下,可以通過按 【F9】觸發智能重新計算。使用
【Shift+F9】 僅重新計算所選工作表,按【Ctrl+Alt+F9】強制對所有公式執行完整計算,也可以通過按
【Ctrl+Shift+ Alt+F9】 強制徹底重新構建依賴項和執行完整計算。

F9計算所有打開的工作簿中的所有工作表。

按 Shift+F9 可計算活動工作表。

按 Ctrl+Alt+F9 可計算所有打開的工作簿中的所有工作表,不管它們自上次計算以來是否已更改。

如果按
Ctrl+Alt+Shift+F9,則會重新檢查相關公式,然後計算所有打開的工作簿中的所有單元格,其中包括未標記為需要計算的單元格。

---分-----隔-----線-----

下面是本人新書介紹,不想了解的知友,請直接關閉本網頁。

---分-----隔-----線-----

本人新出版的《「偷懶」的技術:打造財務Excel達人》是一本教你如何巧用Excel「偷懶」的書,集數據管理理念和Excel實用技巧於一身,儘管書名為打造財務Excel達人,但書中涉及財務專業知識很少,其他非財務人士也完全可以閱讀。因為很少有Excel書象本書一樣,從數據管理理念和規範化操作來講解,也沒有哪一本書象本書從理論高度、並配以豐富的財經雜誌的表格為實例講解表格美化。

本書在噹噹網家庭與辦公室用書類的新書榜排名第一。歡迎大家購買支持。


索性,我們延展一下,我來教你怎麼做專業的EXCELer:

=========

細節到底有多重要?

話說有甲乙兩個人應聘某著名企業IT主管崗位,甲的業務能力出眾深得面試官賞識,乙專業能力一般勝在態度還行。面試結束走在公司的走廊上,乙發現地面上有張不起眼的小紙片,就下意識的低頭撿起來扔進了不遠的垃圾桶,這一幕恰好被走在後面的公司董事長發現了。董事長看了十分感動,和招聘面試官溝通後直接決定:
錄取甲為IT主管,錄取乙為公司清潔工。

這個故事說明還是專業知識重要!好像畫風不對?說明專業知識很重要,如果能注重細節的話,那會讓你更專業,OK?回到正題,讓我們認真討論哪些細節可以讓我們更專業,[嚴肅臉]。理論上來說,從你打開電腦的一刻起,你的每一步操作都體現了你的專業程度。細化到EXCEL,我把最長忽視的細節分別整理,形成善待系列清單,獨一份,請善待這份清單。

1.善待你的EXCEL

  • 評估你的工作需求是否應該使用EXCEL,文字處理用WORD,多媒體演示用PPT,批量複雜重查詢多關聯數據表用Access。超過3w行的數據儘管理論上EXCEL還是可以處理(最多1048576行),但要審慎選擇。
  • 一個sheet頁只放一個工作表或繪圖區域,工作表數據從A1單元格開始。
  • 默認sheet1設置成1個(文件—選項—常規)。
  • sheet頁不要使用默認的類似sheet1的名字,要根據數據內容給出名字。
  • 相同性質或加在一起解決某類特定問題的sheet頁組成一個工作簿文件(就是EXCEL文件),既不要一個工作表一個文件(太散,沒有結構)也不要所有工作表堆在一個文件里(後續很難歸類檢索)。
  • 不要跨工作簿引用數據。
  • 所有表格樣式統一,包括列寬、字體、字型大小,非要逼死強迫症嗎?
  • 字體設置推薦微軟雅黑light或微軟雅黑。不要設置其他電腦沒有的字體,除非這個表格就在這一台電腦使用。,字型大小自己看,不做強制要求,但要統一。
  • 行標題、列標題加粗,適當處理文字顏色、填充顏色,利人利己。
  • 不要使用斜體和下劃線(用框線代替),不要使用辣眼睛的配色。
  • 適當調整行距列寬讓文字之間有適當的距離,有「呼吸感」不然看著不憋屈嗎?如果內容出現了換行記得要給出空間顯示全。

2.善待你的數據信息

我常常能收到對方發過來的WORD合同,打開一看文檔用戶名是ftpdown之類的一看就是盜版或者所謂免激活安裝的軟體版本。我不是裝外賓,我想說,哪怕你使用的是盜版軟體(當然絕對不鼓勵,我的社群禁止討論此類軟體的安裝、獲取、傳播事宜),你也要有意識的修改你的文檔屬性信息,你看不到不代表別人看不到。這都是你交付的數據的組成部分。

  • 使用文檔檢查器認真檢查文檔屬性信息(文件—信息—檢查問題—檢查文檔,也可以選擇檢查兼容性再看一次)
  • 重要敏感數據請使用PDF方式導出給對方。
  • 不要有空行空列。
  • 最終定稿之前查找替換掉所有空格,不可見字元
  • 不要在批註內輸入關鍵信息。
  • 慎用強制換行,慎用,慎用!
  • 數據如果需要在行順序上會通過排序篩選等反覆調整,記得加一列ID列,這樣不管你走到哪裡,按照ID排序一次就回到了最初的狀態。
  • 保存時間間隔設置成2分鐘。(默認是10分鐘)
  • 數據要有意識定期備份,任何時候把數據放在一個地方都是幼稚的行為。
  • 如果是公司有共享文件伺服器或內部共享盤之類,尤其要記得自己至少留一份,意外隨時會來。
  • 公式結果適當的時候轉化為數字,可使用選擇性粘貼功能(避免因引用或數據源改變影響計算結果)。
  • 不要在同一列大量混合存放文本和數字,除非有明確理由,應拆開存放
  • 不要手工在數據表中插入小計行或小計列,應使用數據透視表或分類匯總。
  • 除非表格本身已經是最終輸出狀態,否則確保數據有列欄位名,欄位名不要使用多行(回車換行或者合併單元格等)不要有表名(會破壞列欄位名稱默認位置)。
  • 使用分散對齊而不是手工輸入空格對齊。
  • 全稱、簡稱、別稱不要混用,穩妥起見建議設置數據驗證只支持下拉選擇。
  • 如果有必要,使用資料庫思維檢查一下你的表格是否規範(這章也提到了一部分)。

3.善待下一位閱讀者

不管你的作品的下一位閱讀者是你的客戶、同事、下屬還是你的領導,都請善待他們。

  • 給他人發送excel前,根據具體業務,把游標定位在下一位閱讀者最關心的數據位置,最關心的工作表(sheet)頁上。一般推薦放在工作成果的首行首列。可使用組合鍵快速移動游標到該位置後保存。
  • 如果有必要,記得凍結首行或凍結窗格,方便閱讀體驗,盡量不要讓表格橫向拖動展示數據。
  • 除非必須,應屏蔽公式錯誤。除非必須,記得將公式計算結果選擇性粘貼成數值。
  • 保存格式設置成97-2003兼容。
  • 樣式全部統一,對齊方式如果不能全部統一也至少每列或相同數據類型的對齊方式保持統一。
  • 對隱藏列根據需要刪除或解除隱藏,避免對方找不到數據或者感到困惑。

忘了說了,專業閱讀者的一個顯著細節是,會對高質量的文章毫不留情的進行轉發。今天,你專業了嗎?

移步公眾號「怒馬說」獲取更多 EXCEL 乾貨。


簡單的說 ,合理的數據結構,使用數據透視表或者sql in excl 或者vba 都能提高數據運算的速度


Dim s As Style, i As Long, c As Long

On Error Resume Next

If Not ActiveWorkbook Is Nothing Then

c = ActiveWorkbook.Styles.Count

For i = c To 1 Step -1

If i Mod 600 = 0 Then DoEvents

Set s = ActiveWorkbook.Styles(i)

Application.StatusBar = "Deleting " c - i + 1 " of " c " " s.Name

If Not s.BuiltIn Then

s.Delete

If Err.Description = "You cannot use this command on a protected sheet. To use this command, you must first unprotect the sheet (Review tab, Changes group, Unprotect Sheet button). You may be prompted for a password." Then

MsgBox Err.Description vbCr "You may have to unprotect all of the sheets in the workbook.", vbExclamation, "Remove Styles AddIn"

Exit For

End If

End If

Next

Application.StatusBar = False

End If

End Sub

有空來一發

叫我雷鋒


多圖預警

問題的結論很簡單,面對這種數據量,最好別用Excel,可以用SQL。也可以選擇用CSV做數據存儲,處理用Python的Pandas(如果有資料庫,pandas也可以直接調資料庫),你絕對會飛起來。讀取數據,計算,導出,圖表都是飛起的狀態。

1.數據處理開始啦

什麼?快30M了,打開得要多久啊

花了800多ms。當然轉成CSV用Excel打開也花不了多久了,但是估計也要將近10S。

瀏覽下數據

機智的同學估計發現這些數據來源哪兒了(公司數據拿出來分析算泄密,社工庫拿出來又要來管我要)

先統計一下男女比例,Plot一下

哇,好多光棍

透視一下數據

製表

可以看出男女隨著時間增加的增長情況,用上Seaborn後,圖片的樣式明顯精緻了很多

再檢索一下160萬條數據,一次檢索1S多一點

操作還有很多,不贅述,展示的只有千分之一的功能,關鍵是,代碼是什麼

除開空格,引用,一共7行代碼。你說你從來沒學過編程,你確定你學不會這個?


用Python自己寫腳本唄, 多方便


10秒應用兩個小招減少等待99%

-----------------------------------

幫我查詢下這個號碼。

沒…………問…………題…………

Excel文件用久了,數據越來越大,公式越來越多,速度就越來越慢。

原來有一個搞諮詢的大牛和我說為什麼Excel這麼慢,Excel就像一輛滿載各種工具的卡車,有時候你只想要一個扳手,但是當你打開Excel,它還是給了你一輛卡車

寫個公式等30秒,擱誰誰也受不了。

我們需要給Excel加速。怎麼做呢?

1. 關閉自動計算Excel默認對公式進行自動計算,每次操作都會重新算一遍全表公式。作為表格的最終掌控者,你不需要它每次都幫你算。

調整為手動計算。當你寫完公式後需要校驗結果時按F9手動重新計算(是一個按鍵F9,不是字母"F"+數字"9")

2. 另存為xlsbxlsb格式是什麼?

xlsb是二進位表格文件。你最有可能接觸它的地方是Excel自動生成的個人宏工作簿。

Excel數據工作原理是這樣的,在硬碟上它使用xml這樣的人類可讀語言儲存信息,比如寫作&這樣,在工作時轉化為機器的語言0101010到內存里餵給電腦。計算一遍r=5到機器的010101肯定費時間啊對不對?而xlsb格式就直接在硬碟上儲存010101。

這樣造成xlsb格式的主要優勢:

1. 運行速度快

2. 儲存空間小

而功能上對Excel來說完全沒有任何區別,只是形式上的不同而已,你還替Excel省了一步呢,Excel表示很開心。

那為什麼Excel不能直接存010101呢?其中一個最主要的原因是:

Excel要協作。

巨硬公司打造的是一個平台,一個全生態,Excel出來的結果不是Office自己用,SAP也會用,Oracle也會用,IOS平台會有,Android平台也會有,一個包容的格式才是好格式。兼容並包的格式是個的偉大夢想。

但是拍拍腦門兒想想你工作中有多少機會需要你的表格跳出Excel去應對跨軟體跨平台協作問題啊?

如果你的工作真需要解決複雜到這個地步的問題,估計,這篇文章的旁門左道一定不入你法眼!

其他人,放心大膽地去用吧,這格式是Excel自帶格式,親兒子,非常安全。

3. 其他方法

上述兩個立竿見影,一秒見效。絕對是居(ao)家(ye)旅(jia)行(ban),制(de)表(se)做(zhuang)數(B)必備良方。如果你用著數十萬行的大公式計算表,快速設置後可以降低99%的等待時間。如果仍然需要繼續優化,需要投入更多的時間精力。

比如

(1) 公式只保留第一行

這個模仿資料庫的更新方法。如果你使用的是一個數十萬行的大數據表,而裡面涉及計算,為什麼要把公式儲存幾十萬遍呢?儲存一個結果比如42,比儲存計算過程要簡便的多。

操作時,一列30萬行公式計算,平時只留第一行為公式,剩下粘貼為值。數據有更新時重新填充公式,再F9,然後再粘貼為值只留第一行公式。能剩下小一半的文件體積。

(2) 謹慎使用數組公式

數組公式非常絢麗,但是也非常吃CPU。沒有什麼問題是一個「好的數據結構」+「簡單公式」解決不了的,如果有,那是甲方腦殘,得加錢!

(3)複雜公式使用VBA代替

還是那個3行原則: 公式超過3行,請考慮VBA!

這麼複雜的公式設計第二天睡起來保證你忘記為什麼。公式代碼這種反人類的語言必須要有注釋,我又不是AlphaGo……

(4) 謹慎使用照相機功能

一個照相機照片抵得過10萬個公式。我是說在拖累你電腦速度方面。

那我非得用動態截圖功能怎麼辦?這麼高端的功能還要用在大數據表格下,大哥你很前衛了,可以研究下VBA。

(5) 優化公式

比如用查詢表代替計算啊(參照「微軟Excel世界盃大賽(果然名字就是越長越好)複賽題講解"),比如優先進行數據結構優化啊(參照"動態外匯匯率計算"篇),等等等等。

所以天下武學,無堅不破,唯快不破!

"給我在每個循環里加入暫停0.1秒,將來優化速度好向客戶要錢!"

"好的老闆!沒問題老闆!"

有關參考文章參見:

http://weixin.qq.com/r/nEOxqYbEZtsZrcLK9xaO (二維碼自動識別)

四大Excel

7個公式解決9成問題

(圖片來自網路,侵刪)

以上。


需要複製粘貼大量數據的時候,不要直接粘貼,要粘貼成值。


excel小白之前在實習時候經常處理特別多的數據,就簡單講一下自己的小tips:

1.盡量打開較少的工作簿,文件一旦多必然慢啊。

更詳細的說,如果有其他文件引用盡量放在同一個工作簿里,減少工作簿之外的文件的引用,比如可以放入其他工作表。這樣做也可以避免文件刪除引起的各種錯亂,也方便後面的修改。

2.公式問題。盡量不要用過於複雜的公式,寧可多加一列作為中轉數據處理列。過於複雜的公式一則容易出錯,二則不方便其他人觀閱,三則運算起來慢。

3.選擇性粘貼公式比往下拉公式快很多!並且這樣操作熟練後很方便的,再也不需要滑鼠往下拖啦。其次可以避免遇到空格,拖公式停下來的情況。

3. 要有規範的公式數據源。如果數據來源不規範,第一步一定是處理規範數據,磨刀不誤砍柴工。

4.個人習慣將含有大量數據及公式的文件調成手動計算,只要思路清晰,最後一步計算,避免寫一個公式計算一次,時間也節約很多。

5.還有數據透視表真的非常非常好用啊,比什麼公式高效得多!

以上都是現在想到的日常小tips,有空再來補充啊。不多說了,搬磚去了。對了,畢竟小白,還望大神指正。


少用公式,多用透視表或者技巧;不用設置太多格式


一個好辦法是把表格設置一下,不要讓表格每次修改都重算。

在修改好數據以後統一按F9重算。

工作的關係我有一個幾十萬條數據的CRM表,經常更新,上面還有一堆我寫的vlookup公式,有些還有多重嵌套的vlookup公式。不用這種方法,每次修改一個小數據都是漫長的等待。

以下是excel 2013的設置截圖。


恕我直言這樣規模的數據用EXCEL無論怎麼樣都是愚蠢的做法

快快換工具吧


你所面臨的問題就是開發資料庫的原因……

對於SQL語言需要一分鐘的工作量,使用VB可能是幾個小時的工作量,使用工作表函數可能是幾天甚至幾周的工作量,使用純手工錄入可能是你半輩子的工作量……

智者,善假於物也。

如果你所操作的數據行數過多,不妨試一試使用Access、SQLServer等資料庫來執行。

不要把編程想得太神秘,編程只是把你那複雜的計劃肢解成一條條弱智的命令而已,難者不會,會者不難吧。

學會這些對你還有一個好處:如果你分析問題側重於因果式推導,你以後思考問題的維度將和以前大大不同。這大概是自行車和汽車的差距吧。

而且更讓人興奮的是,人類目前還沒有研製出真正的「火車」和「飛機」(人工智慧),你有機會觸摸文明的前沿……


推薦stata,處理數據很快,修改起來也方便。代碼容易上手。


有marco用xlsb格式,不僅空間小很多了,速度也會快


如果經常從外部(網頁,其他表格)複製粘貼數據到表格,並且表格文件還被很多人使用編輯的話,注意清理Styles,Invalid Ranges, Objects( especially unwanted invisible ones)。


把需要運算的數據創建為表,對提高運算速度非常有效,特別是大規模的數據。操作也超級簡單,插入-&>表,試試吧。


是不是有很多數組公式,少用數組公式;count類公式少用;盡量不要整列引用


改用Access,也許再稍微學兩句SQL,絕對飛一般的感覺。


專註黑M$30年的表示,這就像問怎樣讓馬跑得更快而不是想到使用汽車一樣。


推薦閱讀:

Excel表格選中顏色太淺怎麼調深?
excel快速填充功能都有哪些逆天的使用場景?
(如圖所示)請問大牛如何將Word裡面的中英文互換位置?警務英語急用!
Power Query 應用領域有哪些?
VBA已經過時了嗎?

TAG:軟體開發 | 編程 | MicrosoftExcel |