如何用一個 Excel 過濾另一個 Excel

bubblegum發表於2020-05-12

可以用vlookup之類的函式解決這個問題,雖然整個過程不算太難,但只要資料發生變動,每次就要重複這個過程,這就顯得太繁瑣了。用VBA可以讓這個過程自動化,但寫法過於複雜,一般人很難掌握。

用esProc就簡單多了,只需幾行程式碼就能完成過濾:


A B D
1 =file("param.xlsx").xlsimport() =A1.(_1) /開啟存放引數的Excel,取第1列
2 =file("all.xlsx").xlsimport()
/開啟存放完整資料的Excel。
3 =A2.select(B1.contain(_2))
/用B1過濾A2的第2列,返回符合條件的行。
4 =file("result.xlsx").xlsexport@A3)
/結果寫入新Excel

按多列過濾也很簡單。比如param.xlsx有兩列,首行列名分別是cust和seller,要用這兩列去過濾all.xlsx,程式碼應該寫作:


A B D
1 =file("param.xlsx").xlsimport@t() =A1.([cust.seller]) /@t表示首行是列名
2 =file("all.xlsx").xlsimport()

3 =A2.select(B1.contain([_2,_3]))
/用B1過濾A2的第2、3列
4 =file("result.xlsx").xlsexport@A3)

esProc有個網格式的桌面IDE,其實可以直接在裡檢視計算結果,也可以不必儲存。

還有更多的針對Excel的計算案例:

文字檔案和 Excel 在 esProc 裡處理方式相同,很多演算法可以互相參考:

esProc 是專業的檔案處理指令碼,即安即用,除錯方便,類庫豐富,詳情參考

關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957599/viewspace-2691443/,如需轉載,請註明出處,否則將追究法律責任。

相關文章