Trong bài viết này, Học Excel Online sẽ hướng dẫn công thức mảng Excel, cách để nhập nó chính xác trong bảng tính của bạn, cách sử dụng các hằng số và các công thức mảng trong Excel.
Các công thức mảng trong Excel là một công cụ vô cùng hữu ích và cũng khó nhất để kiểm soát được nó. Một công thức mảng Excel đơn có thể thực hiện nhiều phép tính và thay thế hàng ngàn công thức thông thường. Tuy nhiên, ước chừng đến 90% người dùng Excel chưa bao giờ sử dụng các công thức mảng trong bảng tính, chỉ vì họ sợ phải bắt đầu học chúng từ con số 0.
Xem nhanh
Trước khi chúng ta bắt đầu tìm hiểu về hàm và các công thức mảng Excel, thì chúng ta hãy tìm hiểu rằng thế nào là thuật ngữ “mảng”. Về cơ bản, một mảng trong Excel là một tập hợp các mục. Các mục có thể là văn bản hoặc số và chúng có thể nằm trong một hàng/cột, hoặc trong nhiều hàng và cột.
Ví dụ: nếu bạn nhập danh sách mua hàng hàng tuần của bạn vào một định dạng mảng Excel, thì nó sẽ kiểu như:
{“Milk”, “Eggs”, “Butter”, “Corn flakes”}
Sau đó, nếu bạn chọn các ô từ A1 đến D1, thì hãy nhập mảng ở trên với dấu bằng (=) trên thanh công thức và nhấn CTRL + SHIFT + ENTER, và bạn sẽ nhận được kết quả như sau:
Những gì bạn vừa làm là tạo một mảng một chiều theo chiều ngang. Nãy giờ mọi thứ vẫn rất đơn giản, phải không nào?
Bây giờ, công thức mảng Excel là gì? Sự khác biệt giữa một hàm mảng và các hàm Excel thông thường khác là hàm mảng sẽ xử lý nhiều thay vì chỉ một giá trị mà thôi. Nói cách khác, một công thức mảng trong Excel sẽ đánh giá tất cả các giá trị riêng lẻ trong một mảng, và thực hiện nhiều phép tính trên một hoặc nhiều mục mà có thỏa các điều kiện được biểu thị trong công thức.
Một công thức mảng không chỉ xử lý đồng thời một số giá trị, mà nó cũng có thể cùng 1 lúc trả lại một số các giá trị. Vì thế, các kết quả trả lại bởi công thức mảng cũng là một mảng.
Công thức mảng có sẵn trong tất cả các phiên bản của Excel 2013, Excel 2010, Excel 2007 và trước đó nữa.
Và bây giờ, có vẻ như đã đến lúc bạn nên tạo công thức mảng đầu tiên cho bạn.
Giả sử bạn có một số mục trong cột B, và cột C biểu thị giá của chúng, bài toán của bạn là tính tổng doanh thu.
Tất nhiên, không có gì ngăn cản bạn tính các tổng phụ (Sub total) trong mỗi hàng với một công thức đơn giản như = B2 * C2, và rồi sau đó cộng các giá trị đó lại với nhau:
Tuy nhiên, một công thức mảng có thể mang đến cho bạn những điểm đột phá quan trọng, từ khi nó được Excel dùng trong lưu trữ kết quả trung gian trong bộ nhớ, thay vì phải tạo thêm cột bổ sung. Vì vậy, một công thức mảng đơn chỉ cần thực hiện 2 bước nhanh chóng nho nhỏ như sau để giải quyết bài toán trên:
= SUM (B2: B6 * C2: C6)
Khi nhấn tổ hợp phím trên, Microsoft Excel đặt công thức trên trong {dấu ngoặc nhọn}, hay được gọi một dấu hiệu dễ nhìn thấy cho biết đó là một công thức mảng.
Công thức sẽ nhân giá trị trong mỗi hàng riêng của mảng được chỉ định (các ô từ B2 đến C6), có thêm các tổng (phụ), và kết quả cuối cùng là tổng doanh thu.
Ví dụ đơn giản trên cho thấy sức mạnh của công thức mảng trong Excel. Khi làm việc với hàng trăm hoặc hàng ngàn hàng chứa dữ liệu, thì bạn có thể cân nhắc khi nó sẽ tiết kiệm bao nhiêu thời gian với một công thức mảng trong mỗi ô.
Công thức mảng Excel là công cụ tiện dụng nhất để thực hiện các phép tính tinh vi và các tác vụ phức tạp. Một công thức mảng đơn có thể thay thế hàng trăm công thức thông thường. Công thức mảng có thể sử dụng cho các công việc như:
Xem ngay: các hàm thường dùng trong Excel
Như bạn đã biết, sử dụng tổ hợp phím CTRL + SHIFT + ENTER là một phương thức kỳ diệu để biến một công thức thông thường thành một công thức mảng.
Khi nhập một công thức mảng trong Excel, có 4 điều quan trọng mà bạn cần ghi nhớ:
Bởi vì tất cả các công thức mảng trong Excel đều đòi hỏi phải nhấn tổ hợp phím Ctrl + Shift + Enter, đôi khi được gọi là công thức CSE.
Khi làm việc với các công thức mảng trong Excel, bạn có thể quan sát cách chúng tính toán và lưu trữ các mục của mảng (mảng nội bộ) để hiển thị kết quả cuối cùng trong một ô. Để làm điều này, hãy chọn một hoặc nhiều đối số bên trong ngoặc đơn của một hàm, rồi sau đó nhấn phím F9. Để tắt chế độ đánh giá công thức, hãy nhấn phím Esc.
Trong ví dụ trên, để xem các tổng phụ (sub-total) của tất cả các sản phẩm, bạn cần chọn B2: B6 * C2: C6, rồi nhấn F9 và thu được kết quả như sau:
Lưu ý: Hãy lưu ý rằng bạn phải chọn một số phần của công thức trước khi nhấn phím F9, nếu không khi nhấn F9 thì nó sẽ chỉ đơn giản thay thế công thức mảng của bạn bằng (các) giá trị tính toán mà thôi.
Công thức mảng có thể trả lại kết quả trong một ô hoặc trong nhiều ô. Một công thức mảng được nhập vào trong một dải ô được gọi là công thức đa ô. Công thức mảng nằm trong một ô duy nhất được gọi là công thức ô đơn.
Có một vài hàm mảng được thiết kế để trả về các mảng đa ô, ví dụ như TRANSPOSE, TREND, FREQUENCY, LINEST, v.v.
Các hàm khác, chẳng hạn như SUM, AVERAGE, AGGREGATE, MAX, MIN, có thể tính toán biểu thức mảng khi nhập vào một ô duy nhất bằng tổ hợp phím Ctrl + Shift + Enter.
Các ví dụ sau minh hoạ cách sử dụng một công thức mảng một ô và nhiều ô trong Excel.
Giả sử bạn có hai cột liệt kê số lượng mặt hàng được bán trong 2 tháng khác nhau, ví dụ cột B và cột C, và bạn muốn tìm số doanh thu tăng lớn nhất có thể.
Thông thường, bạn sẽ thêm một cột bổ sung, ví dụ cột D, tính doanh thu thay đổi cho mỗi sản phẩm, sử dụng công thức như = C2-B2, và sau đó tìm giá trị lớn nhất trong cột bổ sung đó = MAX (D: D).
Tuy nhiên, một công thức mảng Excel không cần một cột bổ sung vì nó lưu trữ hoàn hảo tất cả các kết quả trung gian trong bộ nhớ. Vì vậy, bạn chỉ cần nhập công thức sau và nhấn Ctrl + Shift + Enter mà thôi:
= MAX (C2: C6-B2: B6)
Trong ví dụ trước của hàm SUM, giả sử bạn phải trả 10% thuế cho mỗi lần bán và bạn muốn tính số tiền trả thuế cho mỗi sản phẩm chỉ với một công thức.
Trước tiên, bạn cần chọn dải ô trong một cột trống, ví như D2: D6, và nhập công thức sau vào thanh công thức:
= B2: B6 * C2: C6 * 0,1
Một khi bạn nhấn Ctrl + Shift + Enter, thì Excel sẽ đặt công thức mảng của bạn trong mỗi ô trong dải đã chọn, và bạn sẽ nhận được kết quả trả về như sau:
Như đã đề cập, thì Microsoft Excel cung cấp một vài cái gọi là “các hàm mảng” được thiết kế đặc biệt để làm việc với các mảng đa ô. Hàm TRANSPOSE là một trong những hàm như vậy và chúng tôi sẽ sử dụng nó để chuyển đổi vị trí trong bảng ở trên, tức là chuyển hàng sang cột và ngược lại.
Kết quả sẽ tương tự như sau:
Khi làm việc với các công thức mảng đa ô trong Excel, hãy đảm bảo tuân theo các quy tắc dưới đây để có được kết quả chính xác:
Nếu công thức của bạn có thể trả về một mảng với một số lượng các phần tử có thể thay đổi, thì hãy nhập nó vào một dải bằng hoặc lớn hơn mảng lớn nhất mà được bởi công thức trả về và hãy lồng công thức của bạn trong hàm IFERROR.
Trong Microsoft Excel, một hằng số mảng chỉ đơn giản là một tập các giá trị cố định. Các giá trị này không bao giờ thay đổi khi bạn sao chép công thức vào các ô hoặc các giá trị khác.
Bạn đã làm một ví dụ về mảng được tạo từ một danh sách hàng hóa cần mua trong phần đầu của bài hướng dẫn này. Bây giờ, chúng ta hãy cùng xem các loại mảng khác như thế nào và cách bạn có thể lập ra chúng.
Tồn tại 3 loại của hằng số mảng trong Excel:
Hằng số của mảng ngang được đặt chỉ trong một hàng. Để tạo một hằng số mảng hàng, hãy nhập các giá trị được cách nhau bởi dấu phẩy, và đặt chúng trong dấu ngoặc nhọn, ví dụ: {1,2,3,4}
Lưu ý. Khi tạo một hằng số mảng, bạn phải nhập bằng tay các dấu đóng và mở ngoặc. Để nhập một mảng theo chiều ngang trong một bảng tính, hãy chọn số tương ứng của các ô trống trong một hàng, và nhập công thức = {1,2,3,4} trong thanh công thức, rồi kế tiếp nhấn Ctrl + Shift + Enter. Kết quả sẽ giống như sau:
Như bạn thấy trong hình, thì Microsoft Excel đặt hằng số mảng trong một tập hợp các dấu ngoặc nhọn khác, giống như khi bạn đang nhập một công thức mảng trong Excel.
Hằng số của mảng dọc được đặt trong một cột. Bạn tạo ra nó bằng cách tương tự như một mảng ngang, với sự khác biệt duy nhất là bạn ngăn cách các mục bằng dấu chấm phẩy, ví dụ: = {11; 22; 33; 44}
Để tạo một mảng hai chiều trong Excel, bạn tách các mục trong mỗi hàng ra bằng dấu phẩy, và ngăn cách mỗi cột bằng dấu chấm phẩy = {“a”, “b”, “c”; 1, 2, 3}
Hằng số mảng là một trong những nền tảng của các công thức mảng trong Excel. Các thông tin và mẹo nhỏ dưới đây có thể giúp bạn sử dụng chúng một cách hiệu quả nhất.
Hằng số của mảng có thể chứa các con số, giá trị văn bản, giá trị Booleans (TRUE và FALSE) và các giá trị lỗi, chúng được ngăn tách bằng dấu phẩy hoặc dấu chấm phẩy.
Bạn có thể nhập một giá trị số dưới dạng số nguyên, thập phân, hoặc ký hiệu khoa học. Nếu bạn sử dụng các giá trị văn bản, chúng sẽ được đặt trong dấu nháy kép (“”) như trong bất kỳ công thức Excel nào.
Hằng số mảng không thể bao gồm các mảng, tham chiếu ô, dải, ngày tháng, tên xác định, công thức, hoặc các hàm trong Excel khác.
Để làm cho mảng trở nên dễ sử dụng hơn, hãy đặt cho nó một cái tên:
= {“Su”, “Mo”, “Tu”, “We”, “Th”, “Fr”, “Sa”}\
Để nhập hằng số của mảng đã được đặt tên trong một trang tính, hãy chọn nhiều ô trong một hàng hoặc cột là các mục trong mảng của bạn, rồi nhập tên của mảng vào thanh công thức với dấu = đằng trước và nhấn Ctrl + Shift + Enter.
Kết quả đưa ra như sau:
Nếu mảng của bạn không hoạt động được, hãy kiểm tra các vấn đề sau:
Bây giờ bạn đã quen thuộc với khái niệm các hằng số của mảng, nên chúng ta hãy cùng xem cách mà bạn có thể sử dụng các mảng trong các công thức của Excel để giải quyết các thực tế công việc của bạn.
Bạn bắt đầu bằng cách tạo một mảng dọc có chứa những số bạn muốn tính tổng. Ví dụ: nếu bạn muốn cộng 3 số nhỏ nhất hoặc lớn nhất trong một dải, thì hằng số mảng sẽ là {1,2,3}.
Sau đó, bạn sử dụng một trong hai hàm công thức sau LARGE hoặc SMALL, xác định toàn bộ dải của ô trong tham số đầu tiên và đặt hằng số mảng trong tham số thứ hai. Cuối cùng, lồng nó vào hàm SUM, như sau:
Tính tổng 3 số lớn nhất: = SUM (LARGE (range, {1,2,3}))
Tính tổng nhỏ nhất 3 số: = SUM (SMALL (range, {1,2,3}))
Đừng quên nhấn Ctrl + Shift + Enter khi bạn nhập công thức mảng, và bạn sẽ nhận được kết quả như sau:
Tương tự như vậy, bạn có thể tính giá trị trung bình của N giá trị nhỏ nhất hoặc lớn nhất trong một dải:
Trung bình của 3 số lớn nhất: = AVERAGE (LARGE (range, {1,2,3}))
Trung bình của 3 số nhỏ nhất: = AVERAGE (SMALL (range, {1,2,3}))
Tham khảo thêm: Học Excel văn phòng với các chuyên gia
Giả sử bạn có một danh sách đơn đặt hàng và bạn muốn biết người bán hàng đã bán được bao nhiêu lần sản phẩm được chỉ định.
Cách đơn giản nhất sẽ sử dụng một công thức COUNTIFS với nhiều điều kiện. Tuy nhiên, nếu bạn muốn đưa nhiều sản phẩm vào, thì công thức COUNTIFS của bạn có thể sẽ quá dài. Để làm cho nó nhỏ gọn hơn, bạn có thể sử dụng COUNTIFS cùng với SUM và bao gồm một hằng số mảng trong một hoặc một vài đối số, ví dụ:
= SUM (COUNTIFS (range1, “criteria1”, range2, {“criteria1”, “criteria2”})))
Công thức thực có thể trông như sau:
= SUM (COUNTIFS (B2: B9, “sally”, C2: C9, {“Apples”, “lemons”}))
Trong mảng ví dụ của chúng tôi có bao gồm chỉ có hai yếu tố với mục tiêu là để đưa cho bạn phương pháp tiếp cận. Thực tế, công thức mảng của bạn, có thể bao gồm nhiều yếu tố như phép ràng buộc logic, với yêu cầu chiều dài của công thức không vượt quá 8,192 ký tự trong Excel 2013, 2010 và 2007 (1,024 ký tự trong Excel 2003 trở về trước) và máy tính của bạn đủ mạnh để xử lý mảng lớn.
Một toán tử của mảng cho thấy cách bạn muốn xử lý mảng – sử dụng hàm logic AND và OR.
Trong ví dụ này, chúng tôi cho biết tổng doanh thu tương ứng mà người bán hàng là Mike và sản phẩm là Apples:
= SUM ((A2: A9 = “Mike”) * (B2: B9 = “Apples”) * (C2: C9))
Hoặc là
= SUM (IF (((A2: A9 = “Mike”) * (B2: B9 = “Apples”)), (C2: C9)))
Công thức mảng sau với toán tử OR (+) cho phép thêm tất cả các bán hàng ứng với người bán hàng là Mike hoặc sản phẩm là Apples:
= SUM (IF (((A2: A9 = “Mike”) + (B2: B9 = “Apples”)), (C2: C9)))
Mách nhỏ: Trong các phiên bản hiện đại của Excel 2013, 2010 hoặc 2007, việc sử dụng các công thức mảng trong các tình huống như vậy thực sự không cần thiết và một công thức SUMIFS đơn giản có thể cho ra cùng một kết quả như trên. Tuy nhiên, toán tử AND và OR trong các công thức mảng có thể hữu ích trong các tình huống phức tạp hơn, điều này liên quan đến việc luyện tập các ý tưởng cho não của bạn : )
Nếu bạn đã từng làm việc với các công thức mảng trong Excel, rất có thể bạn đã lướt qua một vài công thức có chứa hai dấu gạch ngang (–) và bạn có thể đã tự hỏi rằng nó được sử dụng cho những việc gì.
Hai dấu gạch ngang đôi, gọi là toán tử đơn vị đôi, được sử dụng để chuyển các giá trị Boolean không bằng số (TRUE / FALSE) bởi một số biểu thức thành 1 và 0 – thứ mà một hàm mảng có thể hiểu được.
Ví dụ sau hy vọng làm cho mọi thứ dễ hiểu hơn cho bạn. Giả sử bạn có một danh sách ngày trong cột A và bạn muốn biết có bao nhiêu ngày xảy ra vào tháng Giêng, bất kể năm nào.
Các công thức sau đây sẽ giải quyết vấn đề trên:
= SUM (–(MONTH (A2: A10) = 1))
Vì đây là công thức mảng Excel, hãy nhớ nhấn Ctrl + Shift + Enter để hoàn tất.
Nếu bạn quan tâm đến một tháng khác, hãy thay thế 1 bằng một số tương ứng. Ví dụ, 2 là Tháng 2, 3 có nghĩa là Tháng 3, v.v. Để làm cho công thức linh hoạt hơn, thì bạn có thể chỉ định số của Tháng trong một số ô, như trong hình:
Và bây giờ, chúng ta hãy cùng phân tích xem rằng công thức mảng Excel làm việc như thế nào nhé. Hàm MONTH trả về kết quả là mỗi ngày trong các ô A2 đến A10 nằm trong tháng nào, chúng sẽ được biểu thị bởi một số sê-ri, tạo ra mảng {2; 1; 4; 2; 12; 1; 2; 12; 1}.
Sau đó, mỗi phần của mảng sẽ được so sánh với giá trị trong ô D1, là số 1 trong ví dụ này. Kết quả của phép so sánh này là một mảng các giá trị Boolean (TRUE và FALSE). Như bạn nhớ, thì bạn có thể chọn một phần nhất định trong một công thức mảng và nhấn F9 để xem phần đó tương đương với:
Cuối cùng, bạn phải chuyển đổi các giá trị Boolean này thành 1 và 0 để hàm SUM có thể hiểu được. Và đây là những gì các toán tử đơn vị đôi cho là cần thiết. Các toán tử đơn vị đầu tiên sẽ làm TRUE / FALSE thành -1/0, tương ứng. Cái thứ hai thì sẽ phủ định giá trị, tức là đảo ngược dấu, biến chúng thành +1 và 0, để mà hầu hết các hàm của Excel có thể hiểu và làm việc với nó. Nếu bạn loại bỏ toán tử đơn vị đôi khỏi công thức trên, thì nó sẽ không hoạt động.
Rất nhiều kiến thức phải không nào? Toàn bộ những kiến thức này các bạn đều có thể học được trong khóa học EX101 – Excel từ cơ bản tới chuyên gia của Học Excel Online. Đây là khóa học giúp bạn hệ thống kiến thức một cách đầy đủ, chi tiết. Hơn nữa không hề có giới hạn về thời gian học tập nên bạn có thể thoải mái học bất cứ lúc nào, dễ dàng tra cứu lại kiến thức khi cần. Hiện nay hệ thống đang có ưu đãi rất lớn cho bạn khi đăng ký tham gia khóa học.