Excel 中提示不能超過256列或65536行的處理

Excel中經常使用各種函數在表格、工作表之間相互引用、調用數據的,但有時候儘管是完全按照公式的要求來輸入相關項目的,還是會出現:

「此引用有問題。此文件中的公式只能引用內含256列(列IW或更少)或65536行的工作表中的單元格」這樣的警告。點擊確認之後,公式需要重新修改。但實際上看,公式的單元格所在的位置可並沒有超過這個提示中的限制的(256列或65536行),但依然有這樣的錯誤,是為什麼呢?

經簡單查證,發現這個是舊版本Excel的固有的一個限制,即在Office2003及之前版本的Excel中,xls格式的表格,支持最大的列為256列,最大的行為65536行。

這樣,當2003版或更低版本的xls表格中,函數、公式則會限制在相應範圍內的單元格引用。而一旦公式引用了超出這個範圍之外的單元格,Excel則會自動報錯。特別是存在引用整行、整列的情況下,而被引用的表格是Office2007、2010及更高版本創建的文件,哪怕是xls文件,都會提示超出了範圍。因為高版本Excel保存的xls文件,也遠遠不止256列、65536行。例如Excel2019中最大行為1048576行,即1024*1024=1048576行。如公式中包含XFD:XFD列的話,則必然超出了65536行。

解決辦法:

方式一、修改文件版本

現在已經清楚是舊版本的Excel文件中存在最大表格行列數的限制,那麼最簡單的辦法就是將當前的xls文件,使用另存為的功能把xls文件保存為xlsx文件。再重新打開xlsx文件重新輸入相應的公式即可。這樣的話,高版本的文件可以兼容低版本的文件,但反之則容易出現問題。畢竟現在已經是2019年了,Office2019套裝也發布很久了,但還是有N多的系統、後台默認調用的還是Office2003的模版,生成的是Excel2003的表格。不可避免的會存在這樣的問題。因此,簡單另存為一下,即可解決問題。

方式二、對公式引用的範圍手動做限制

之所以出現這樣的警告,是因為在引用高版本表格的時候,默認會引用整行整列的數據,而整行整列就超出了舊版本Excel的單元格範圍的限制。如公式=VLOOKUP(C1,[EXCEL演示.xlsx]Sheet1!$B:$E,4,0),默認引用了B-E列整個的區域。雖然我們有效的數據可能就那麼幾十、幾百行,但公式並沒有圈定行數,導致了警告出錯。這時候,我們對公式稍作調整:

=VLOOKUP(C1,[EXCEL演示.xlsx]Sheet1!$B1:$E6000,4,0)

這樣就限定了引用的範圍。當然E6000這裡的6000注意要包含所有的有效行數就行。萬一實際上的數據已經超出了65536行呢?那隻能採取方式一的辦法來解決了。

如上便是提示不能超過256列或65536行的簡單處理。

推薦閱讀:

excel使用各種函數時什麼時候需要絕對引用?
可以通過哪些途徑學word和excel?

TAG:MicrosoftExcel | Excel技巧 | Excel使用 |