Từ trước đến nay chúng ta đã quá quen thuộc với Microsoft Excel (Excel) – một chương trình bảng tính mà nhắc đến thôi là ai cũng biết. Học sinh được dạy Excel trong chương trình tin học cơ sở. Sinh viên sử dụng Excel để làm bài. Giáo viên sử dụng Excel trong công việc và khối văn phòng chắc chắn không thể không cài Excel trong máy. Và ngay cả những người không làm việc liên quan tới bảng tính, thì Excel, dù xài “chùa” hay bản quyền, luôn được cài sẵn trong máy (ít nhất là nếu máy đó chạy hệ điều hành Windows). Bởi lẽ đó, chúng ta luôn tưởng rằng đã quá thân thuộc với Excel, cho đến năm 2018.
Xem nhanh
Vậy trong năm đó, Excel đã trải qua “biến cố” gì?
Ngược dòng thời gian về tháng 11 năm 2015, thời điểm dự án Office Insiderđược ra mắt. Đây là một dự án mà nói theo cách đơn giản sẽ cho bạn trải nghiệm những cập nhật mới nhất (một số kèm theo cả lỗi) nếu bạn là người dùng phiên bản Office 365 và chấp nhận tham gia dự án này. Nói đơn giản, cộng đồng Insider sẽ là những “Tester” giúp các tính năng hoàn thiện hơn trước khi được cập nhật chính thức vào những phiên bản khác. Và 3 năm sau, tại Microsoft Ignite 2018, ngoài thông báo về sự cải thiện của engine tính toán giúp tăng tốc độ xử lý của các hàm, người dùng đã nhận được một tính năng mới mà đến tận thời điểm bây giờ, người chưa được dùng thì thèm khát, còn người đang dùng thì vẫn thảo luận không ngừng. Nó có tên là Dynamic Array (mảng động). Đi kèm với nó là 7 hàm mới bao gồm: FILTER, SORT, SORTBY, UNIQUE, SEQUENCE, RANDARRAY và SINGLE.
Vậy thì Dynamic Array là gì và nó đã thay đổi người dùng ra sao?
Trong khoảng thời gian 2 năm từ 2018 tới 2020 khi mà Microsoft hoàn tất việc triển khai Dynamic Array tới các kênh trong dự án Office Insider (Hiện tại Dynamic Array mới xuất hiện trên Office 365), vô vàn cuộc thảo luận đã nổ ra trên khắp các diễn đàn lớn như Microsoft, Reddit cũng như trên các cuộc Techtalk của những bậc thầy về sử dụng Excel. Tất cả đều công nhận rằng, đây không chỉ là bước tiến mạnh mẽ nhất, là cải tiến lớn nhất của Excel mà còn là một sự phá bỏ giới hạn ô tính làm thay đổi hoàn toàn nhận thức của người sử dụng từ trước tới nay. Bill Jelen – chủ diễn đàn MrExcel đã để cập trong quyển “Dynamic Arrays: Straight to the Point” của ông rằng với mảng động, người ta có thể thu gọn cả một chương sách hướng dẫn tìm giá trị độc nhất theo cách cũ về trong chỉ một câu.
The chapter of Mike Girvin’s Ctrl+Shift+Enter book on getting unique values just became one sentence. I love his book (and I am the publisher of that book), but it is about to become a pamphlet with all of these simplications!
Với người dùng Excel lâu năm, khái niệm mảng (array) không phải là một khái niệm quá xa lạ. Nói nôm na thì, nếu bạn nhập một mảng ={1,2} vào ô A1 trong Excel, thì phải ấn Ctrl + Shift + Enter thay vì Enter để kết thúc công thức. Và mỗi ô (cell) trong Excel chỉ thể hiện được 1 giá trị duy nhất, nên kết quả trả về sẽ là giá trị đầu tiên, tức số 1. Vậy nên, để thể hiện đầy đủ mảng trên, cần phải bôi chọn ô A1 và B1 trước, rồi sau đó mới nhập mảng vào.
Ấy mới là nói nôm na, còn cụ thể thì mảng trong Excel là một phạm trù khá rắc rối và thường chỉ những người làm việc lâu năm mới có thể sử dụng thành thạo, cũng như nếu bạn có thể “múa” được mảng trong văn phòng, thì bạn sẽ là phù thủy Excel trong mắt mọi người.
Trở lại với Dynamic Array, đây dường như là một sự “bình dân hóa” giúp ai cũng sử dụng được mảng mà không cần quá quan tâm tới logic như trước. Bạn nhập mảng ={1,2} vào ô A1, ấn Enter để kết thúc công thức. Ta-daa! Ở ô A1 chúng ta có số 1, và Excel tự mở rộng mảng sang ô B1 thế là chúng ta có số 2.
Vậy Dynamic Array là gì? Ablebits.com đã định nghĩa như sau:
Dynamic Arrays are resizable arrays that calculate automatically and return values into multiple cells based on a formula entered in a single cell.
Dynamic Array là mảng co bóp được tính toán tự động và trả giá trị về nhiều ô dựa trên công thức nhập vào trong một ô.
Ví dụ đơn giản về ứng dụng của Dynamic Array có thể kể đến như sau: Cho một bảng bao gồm cột Đơn giá (A2:A10), Số lượng (B2:B10) và Thành tiền (C2:C10 – bỏ trống). Yêu cầu là tính toán cột thành tiền của mỗi sản phẩm.
Với Excel không có Dynamic Array:
-Nhập vào ô C2: =A2*B2, ấn Enter
-Sử dụng tính năng Fill để kéo xuống các ô còn lại (C3: =A3*B3, C4: =A4*B4…)
Hoặc:
-Chọn từ ô C2 đến C10
-Nhập vào ô C2: =A2:A10*B2:B10, ấn Ctrl + Shift +Enter để kết thúc công thức
Với Dynamic Array:
-Nhập vào ô C2: =A2:A10*B2:B10, ấn Enter. Xong.
Tất nhiên trên đây mới chỉ là một ví dụ đơn giản nhất của việc ứng dụng Dynamic Array. Bạn hoàn toàn có thể tạo ra một bảng, hoặc thậm chí là một báo cáo công việc chỉ với việc Enter một vài công thức ngắn gọn và dễ hiểu hơn trước đây rất nhiều. Với cá nhân người viết, mình đã từng ứng dụng Dynamic Array để tạo ra một báo cáo trích lọc dữ liệu bán hàng đơn giản như hình:
Cụ thể, các bạn hãy thử tự trải nghiệm xem sao nhé!