Đâu còn chỉ là bảng tính, Microsoft đang biến Excel thành một ngôn ngữ lập trình hoàn chỉnh
Phạm vi ứng dụng của Microsoft Excel đã vượt xa một bảng tính thông thường.
- 24-11-2017"Đừng dùng Excel nữa" - các giám đốc tài chính kêu gọi nhân viên
- 26-05-2014Cuốn "Tư bản thế kỷ 21" mắc lỗi Excel nghiêm trọng?
- 18-04-2013JPMorgan cũng từng mất đứt hơn 6 tỷ USD vì lỗi Excel
Các ứng dụng bảng tính như Excel giờ không chỉ là một công cụ tính toán các con số đơn thuần, chúng còn giúp người dùng phân tích dữ liệu – và hơn thế nữa, giờ đây một tính năng mới của Excel còn biến nó trở thành một công cụ hữu ích hơn nữa: một ngôn ngữ lập trình để xây dựng ứng dụng.
Trên thực tế, từ lâu đã có hàng triệu người trên thế giới đã sử dụng Excel để lập trình một cách hiệu quả hơn bất kỳ ngôn ngữ lập trình nào. Giáo sư Felienne Hermans tại Đại học Leiden đã phỏng vấn một số người dùng doanh nghiệp xem tại sao họ lại xây dựng ứng dụng trên Excel.
"Tại sao các bạn không tự làm điều đó? Tại sao các bạn không tìm đến phòng IT và yêu cầu một hệ thống được viết bằng ngôn ngữ lập trình?" Và họ trả lời rằng: "Chúng tôi đã làm vậy và họ nói rằng nó sẽ tốn khoảng 2 triệu Euro và 6 tháng để làm điều đó, và sau đó là 10 triệu Euro và 9 tháng, mà nó cũng chỉ có một nửa những tính năng so với bảng tính tôi tự làm trong một buổi chiều."
Tuy nhiên, so với một ngôn ngữ lập trình thực thụ, Excel vẫn thiếu vài tính năng chủ chốt, bao gồm việc tùy chỉnh các hàm, các biến và các loại dữ liệu. So với nhu cầu của các nhà lập trình chuyên nghiệp, đây là các thiếu sót lớn cho công việc hàng ngày của họ.
Để bổ sung các thiếu sót này, nhóm sản phẩm Excel có mối quan hệ hợp tác lâu dài với các nhà nghiên cứu ngôn ngữ lập trình tại Microsoft Research Cambridge. Để Excel vượt xa khỏi một nền tảng cho những dòng text và những con số, người dùng phải điều khiển được nó để xử lý các dữ liệu phong phú hơn.
"Các loại dữ liệu nghĩa là một cell (một ô trong Excel) thay vì chỉ là một chuỗi hoặc một số, nó có thể là một đối tượng – một tệp thông tin phong phú hơn như một cổ phiếu hoặc vị trí địa lý. Chúng tôi có quan hệ đối tác để mọi dữ liệu của Wolfram có thể trở thành những loại dữ liệu và các doanh nghiệp có thể tự xây dựng nên những loại dữ liệu riêng của họ." Brian Jones, trưởng nhóm lập trình cho Excel nói với TechRepublic.
Đó chính là cách tính năng LAMBDA ra đời, nó biến những công thức trên Excel thành các hàm tùy chỉnh có thể tái sử dụng được. Bằng cách này, bạn có thể tự xây dựng nên các hàm xử lý dữ liệu mà trong Excel không có sẵn, tương tự như một ngôn ngữ lập trình thông thường. Nhưng quan trọng hơn cả, bạn không cần phải học thêm một ngôn ngữ lập trình mới, như VBA hay JavaScript, để có thể sử dụng được nó.
Tùy chỉnh các hàm số mà không cần biết code
Với LAMBDA, Excel trở thành một ngôn ngữ lập trình hoàn hảo hơn khi cho phép người dùng tạo ra các hàm tùy chỉnh theo ngôn ngữ công thức riêng của Excel và còn có thể gọi lên hàm số khác.
Một số nhà phát triển đang sử dụng chức năng JavaScript của Excel một cách cao cấp hơn, như gọi lên các câu lệnh Python để chạy hàm Azure. Ông Jones cho biết: "Họ viết Python, họ viết một hàm JavaScript hoạt động giống như một hàm trong Excel và lấy giá trị mà bạn tham chiếu để đưa vào chạy Python trên đám mây như một cách để tăng cường ngôn ngữ công thức cho Excel."
Nhưng giờ đây với tính năng LAMBDA, việc tạo ra các hàm tùy chỉnh theo ý mình trở nên đơn giản hơn nhiều khi chỉ cần dùng ngôn ngữ công thức của Excel, thay vì phải dùng đến JavaScript.
Đặt ‘=LAMBDA’ ở đầu công thức hiện tại và nó trở thành một hàm để bạn có thể tái sử dụng nó ở những nơi khác trong bảng tính mà không phải lo lắng về việc các tham chiếu bị thay đổi khi bạn copy và paste công thức. Hơn nữa bạn còn có thể câu lệnh của mình trở nên sáng sủa dễ hiểu hơn, dễ sửa lỗi hơn bằng cách sử dụng hàm LET. Hàm số này cho phép gán các giá trị của một công thức cho một biến, do vậy người dùng có thể tham chiếu lại biến đó nhiều lần bằng cách gọi tên nó lên mà không phải viết lại cả công thức.
Điều tương tự cũng làm được trong hàm LAMBDA. Jones giải thích: "LAMBDA là bước phát triển tiếp theo, khi tôi có thể lấy cùng logic trong công thức đó và đặt nó vào trong một hàm LAMBDA. Giờ đây, mỗi khi tôi bắt đầu viết công thức đó, tính năng tự hoàn tất (autocomplete) trong Excel sẽ tự động xem hàm LAMBDA đó như một hàm mới đối với tôi. Tôi có thể tham chiếu đến ô cell mà tôi muốn, ấn Enter, và nó sẽ trả về kết quả cho tôi."
Hiện các hàm do bạn tạo ra trong LAMBDA mới chỉ xuất hiện trong bảng tính của bạn mà thôi và bạn có thể thao tác với chúng trong Excel Name Manager. Nhưng nếu một hàm nào đó hữu ích đối với bạn, nó cũng có thể hữu ích đối với những người khác nữa. Đó là lúc bạn hoặc mọi người có thể muốn chia sẻ các hàm đó cho đồng nghiệp. Việc đó sẽ cần thời gian.
Ông Jones cho biết: "Mọi người có công thức mà bạn viết để có thể đi và sử dụng nó ở những nơi khác, và mọi người đều có cách sử dụng và lưu trữ riêng (cho công thức đó) để tái sử dụng nó."
Đặc biệt là khi những người dùng Excel thường là những chuyên gia trong lĩnh vực của mình, do vậy, các công thức được họ viết ra trong hàm LAMBDA có thể sẽ hữu ích và ứng dụng rộng rãi hơn.
"Những người sử dụng Excel là những người hiểu rõ các vấn đề doanh nghiệp. Họ là những người hiểu những điều gì cần được xây dựng nên, trái ngược với việc để một nhà phát triển phần mềm tham gia, những người chỉ đang cố tìm hiểu nhu cầu là gì và lập trình nên nó. Đó là vẻ đẹp của Excel: những người có nhu cầu là những người sẽ xây dựng nên giải pháp."
Cải thiện giao diện lập trình của Excel
Giao diện dạng lưới đã trở thành một đặc trưng của Excel và đồng thời nó cũng mang lại một dạng ngôn ngữ lập trình trực quan cho các nhà phát triển. Mỗi cell trong cả bảng tính sẽ giúp bạn theo dõi dễ dàng hơn điều gì đang diễn ra và logic của phép tính là gì. Điều này cũng biến nó thành một công cụ sửa lỗi tuyệt vời cho chương trình mà bạn xây dựng nên.
Nhưng với LAMBDA và tính năng Excel Name Manager để quản lý các hàm do người dùng tạo ra, ý nghĩa về một giao diện lập trình trực quan dễ theo dõi và dễ sửa lỗi đã thay đổi. Vì vậy, theo ông Jones, nhóm Excel sẽ cần một cách tốt hơn để người dùng có thể xem xét các thành phần khác nhau trong công thức và hiểu được điều gì đang xảy ra trong đó, cũng như lý do tại sao kết quả của công thức không đúng như những gì họ kỳ vọng.
Hơn nữa, nhóm vẫn muốn Excel trở nên dễ dùng với đa số mọi người như trước đây, thay vì là một công cụ cao cấp dành riêng cho những nhà phát triển có kinh nghiệm. Bên cạnh đó, ông Jones cũng hứa hẹn sẽ cải thiện hơn nữa tính năng Name Manager, hiện vẫn còn khá sơ khai.
Như thường lệ, tính năng LAMBDA mới này sẽ được triển khai trước với các bản build beta thông qua kênh Office Insider, bắt đầu với một nửa người dùng trong kênh này. Do vậy, không phải người dùng Insider nào cũng sẽ thấy tính năng mới này.
Tham khảo Tech Republic
Pháp luật & Bạn đọc