1985 年,Microsoft 的第一款 Excel 誕生,不過那時候它只能用於 Mac 系統;過了兩年,1987 年 11 月,適用於 Windows 系統的 Excel 被開發出來了。
到了今日, Excel 由於其直觀簡潔的介面、好用的計算功能和圖表工具,已成為市場上最普遍使用的個人電腦資料處理軟體,幾乎所有企業和職位都需要用到它,許多職場前輩認為,只要學會如何正確地使用它,工作效率就能倍增。
然而近日,據微軟官方部落格發布的文章,研究人員已經成功將主要用於資料處理的 Excel, 轉換為成熟的程式語言,使用者可以用 Excel 的公式語言進行任何計算。
論 Excel 的重要性:用 Excel 的工程師比其他程式語言還多
一般來說,使用者在 Excel 中,必須在儲存格中輸入以等號開頭的公式(如 = A2 + B2),以進行計算。雖然微軟稱「公式」是世界上最普遍使用的程式語言,但它仍然受限於預定義的選項範圍。
使用者如果想要使用自己定義的功能,就必須使用微軟的巨集程式語言 Visual Basic for Applications 或者 JavaScript,甚至是微軟的 JavaScript——TypeScript 等,才能做到。
不過,微軟資深研究員 Simon Peyton Jones 在 POPL(Principles of Programming Languages) 2021 上的一段影片中指出,Excel 的終端用戶實際上是使用 JavaScript 實現所有計算,而微軟資深首席研究員和資深首席研究經理也在一份微軟研究部落格中的文章重申這一點。
內文還指出:「世界上使用 Excel 公式運算的工程師比使用 C、C ++、C#、Java 和 Python 加起來的還要多。」
不用離開 Excel 作業環境,就能寫程式?
但現在工程師有福了!不用離開 Excel 的作業環境,就能實際編寫程式。具體來說,在 Excel 編寫的公式現在能被「包裝」(wrap)到一個名為 LAMBDA 的函式功能中,並且可以在所有工作頁中,任意調動。
當然,這項功能支持遞歸編寫,因此您甚至可以從你的命名函式中調用所有函式。要怎麼用呢?首先要進入 Excel 的工具列的「公式」(Formulas),點選「名稱管理器」(Name Manager),就像 GitHub 一樣,你可以在建立函式時做標記(Comment)。
微軟部落格還實際提供了一個範例:一個包含函式名稱的儲存格。
最終在該儲存格中顯示的值將會是指定函數的輸出,而該函數的參數就是另一個儲存格的位址。
或者,函式也能接受數組(包含多個值)作為其參數,因為 Excel 自 2018 年 9 月起就在其中添加了定義數組的功能。
而函式還可以將數組作為其返回值送回去,使這個值去填滿其他多個儲存格。
一起期待 Excel 提供越來越多寫程式的工具
未來,更多的數組操作功能將會釋出。微軟在部落格中甚至承諾,公司將持續致力陣列處理組合器的開發,例如讓 MAP 和 REDUCE 用在命名函數的輸出上。
Excel 的專案經理 Chris Gross 對於 Excel 抱持著高度期許,他希望未來還能增加更多除錯和寫公式的工具,就像一般你用 IDE 提供的功能一樣。
參考資料
《thenewstack》、《Microsoft Research Blog》
(本文提供合作夥伴轉載;首圖來源:unsplash。)