Thực hành công thức google sheet
Công thức mảng là một công thức có thể thực hiện nhiều phép tính trên một hoặc nhiều mục trong một mảng. Bạn có thể coi mảng là một hàng hoặc cột chứa các giá trị hoặc kết hợp các hàng và cột chứa các giá trị. Công thức mảng có thể trả về nhiều kết quả hoặc một kết quả Show
Bắt đầu với bản cập nhật tháng 9 năm 2018 cho Microsoft 365, bất kỳ công thức nào có thể trả về nhiều kết quả sẽ tự động đưa chúng xuống hoặc tràn sang các ô lân cận. Sự thay đổi trong hành vi này cũng đi kèm với một số chức năng mảng động mới. Công thức mảng động, cho dù chúng đang sử dụng hàm hiện có hay hàm mảng động, chỉ cần nhập vào một ô duy nhất, sau đó xác nhận bằng cách nhấn Enter. Trước đó, các công thức mảng kế thừa trước tiên yêu cầu chọn toàn bộ phạm vi đầu ra, sau đó xác nhận công thức bằng Ctrl+Shift+Enter. Chúng thường được gọi là công thức CSE Bạn có thể sử dụng công thức mảng để thực hiện các tác vụ phức tạp, chẳng hạn như
Các ví dụ sau đây chỉ cho bạn cách tạo công thức mảng nhiều ô và một ô. Nếu có thể, chúng tôi đã bao gồm các ví dụ về một số hàm mảng động, cũng như các công thức mảng hiện có được nhập dưới dạng cả mảng động và mảng kế thừa Tải xuống các ví dụ của chúng tôiTải xuống một sổ làm việc ví dụ với tất cả các ví dụ về công thức mảng trong bài viết này Microsoft 365 cho Windows và macOSOffice 2010 - 2019 và macOS 2016 - 2019 Bài tập này chỉ cho bạn cách sử dụng các công thức mảng nhiều ô và một ô để tính một tập hợp các số liệu bán hàng. Tập hợp các bước đầu tiên sử dụng công thức nhiều ô để tính toán một tập hợp các tổng phụ. Bộ thứ hai sử dụng công thức một ô để tính tổng lớn Công thức mảng nhiều ô Ở đây, chúng tôi đang tính Tổng doanh số bán xe coupe và sedan cho mỗi nhân viên bán hàng bằng cách nhập =F10. F19*G10. G19 trong ô H10 Khi nhấn Enter sẽ thấy kết quả tràn xuống ô H10. H19. Lưu ý rằng phạm vi tràn được đánh dấu bằng đường viền khi bạn chọn bất kỳ ô nào trong phạm vi tràn. Bạn cũng có thể nhận thấy rằng các công thức trong ô H10. H19 chuyển sang màu xám. Chúng chỉ ở đó để tham khảo, vì vậy nếu bạn muốn điều chỉnh công thức, bạn sẽ cần chọn ô H10, nơi chứa công thức chính Công thức mảng đơn ô Trong ô H20 của sổ làm việc mẫu, nhập hoặc sao chép và dán =SUM(F10. F19*G10. G19), rồi nhấn Enter Trong trường hợp này, Excel sẽ nhân các giá trị trong mảng (phạm vi ô từ F10 đến G19), sau đó sử dụng hàm SUM để cộng các tổng lại với nhau. Kết quả là tổng doanh thu là $1.590.000 Ví dụ này cho thấy loại công thức này có thể mạnh mẽ như thế nào. Ví dụ: giả sử bạn có 1.000 hàng dữ liệu. Bạn có thể tính tổng một phần hoặc toàn bộ dữ liệu đó bằng cách tạo công thức mảng trong một ô duy nhất thay vì kéo công thức xuống trong 1.000 hàng. Ngoài ra, lưu ý rằng công thức đơn ô trong ô H20 hoàn toàn độc lập với công thức đa ô (công thức trong ô H10 đến H19). Đây là một lợi thế khác của việc sử dụng công thức mảng — tính linh hoạt. Bạn có thể thay đổi các công thức khác ở cột H mà không ảnh hưởng đến công thức ở H20. Cũng có thể là một phương pháp hay để có các tổng số độc lập như thế này, vì nó giúp xác thực tính chính xác của kết quả của bạn Công thức mảng động cũng mang lại những lợi thế này
Tạo hằng mảng một và hai chiềuHằng số mảng là một thành phần của công thức mảng. Bạn tạo các hằng số mảng bằng cách nhập danh sách các mục rồi bao quanh danh sách theo cách thủ công bằng dấu ngoặc nhọn ({ }), như thế này ={1,2,3,4,5} hoặc ={"Tháng Giêng","Tháng Hai","Tháng Ba"} Nếu bạn phân tách các mục bằng dấu phẩy, bạn tạo một mảng ngang (một hàng). Nếu bạn tách các mục bằng cách sử dụng dấu chấm phẩy, bạn tạo một mảng dọc (một cột). Để tạo một mảng hai chiều, bạn phân định các mục trong mỗi hàng bằng dấu phẩy và phân cách mỗi hàng bằng dấu chấm phẩy Các quy trình sau đây sẽ cung cấp cho bạn một số thực hành trong việc tạo các hằng số ngang, dọc và hai chiều. Chúng tôi sẽ hiển thị các ví dụ sử dụng hàm SEQUENCE để tự động tạo các hằng số mảng, cũng như các hằng số mảng được nhập thủ công
Cú pháp hằng mảngĐây là một ví dụ sử dụng hằng số mảng như một phần của công thức lớn hơn. Trong sổ làm việc mẫu, hãy đi đến Hằng số trong trang tính công thức hoặc tạo trang tính mới Trong ô D9, chúng tôi đã nhập =SEQUENCE(1,5,3,1), nhưng bạn cũng có thể nhập 3, 4, 5, 6 và 7 vào các ô A9. H9. Không có gì đặc biệt về lựa chọn số cụ thể đó, chúng tôi chỉ chọn thứ gì đó khác với 1-5 để phân biệt Trong ô E11, nhập =SUM(D9. H9*SEQUENCE(1,5)), hoặc =SUM(D9. H9*{1,2,3,4,5}). Các công thức trả về 85 Hàm SEQUENCE xây dựng giá trị tương đương của hằng số mảng {1,2,3,4,5}. Vì Excel thực hiện các thao tác trên các biểu thức được đặt trong dấu ngoặc đơn trước nên hai phần tử tiếp theo sẽ phát huy tác dụng là các giá trị ô trong D9. H9, và toán tử nhân (*). Tại thời điểm này, công thức nhân các giá trị trong mảng được lưu trữ với các giá trị tương ứng trong hằng số. Nó tương đương với =SUM(D9*1,E9*2,F9*3,G9*4,H9*5), hoặc =SUM(3*1,4*2,5*3,6*4,7*5) Cuối cùng, hàm SUM cộng các giá trị và trả về 85 Để tránh sử dụng mảng được lưu trữ và giữ hoạt động hoàn toàn trong bộ nhớ, bạn có thể thay thế nó bằng hằng số mảng khác =SUM(SEQUENCE(1,5,3,1)*SEQUENCE(1,5)), hoặc =SUM({3,4,5,6,7}*{1,2,3,4,5}) Các phần tử mà bạn có thể sử dụng trong hằng số mảng
Đặt tên cho hằng mảngMột trong những cách tốt nhất để sử dụng hằng số mảng là đặt tên cho chúng. Các hằng số được đặt tên có thể dễ sử dụng hơn nhiều và chúng có thể che giấu một số độ phức tạp của công thức mảng của bạn khỏi những người khác. Để đặt tên cho hằng số mảng và sử dụng nó trong công thức, hãy làm như sau Chuyển đến Công thức> Tên được xác định> Xác định tên. Trong hộp Tên, nhập Quý1. Trong hộp Refers to, nhập hằng số sau (nhớ gõ dấu ngoặc bằng tay) ={"Tháng Giêng","Tháng Hai","Tháng Ba"} Hộp thoại bây giờ sẽ trông như thế này Bấm OK, sau đó chọn bất kỳ hàng nào có ba ô trống và nhập =Quarter1 Kết quả sau đây được hiển thị Nếu bạn muốn kết quả tràn ra theo chiều dọc thay vì theo chiều ngang, bạn có thể sử dụng =TRANSPOSE(Quarter1) Nếu bạn muốn hiển thị danh sách 12 tháng, giống như bạn có thể sử dụng khi lập báo cáo tài chính, bạn có thể căn cứ vào năm hiện tại bằng hàm SEQUENCE. Điều thú vị về chức năng này là mặc dù chỉ hiển thị tháng, nhưng có một ngày hợp lệ đằng sau nó mà bạn có thể sử dụng trong các tính toán khác. Bạn sẽ tìm thấy những ví dụ này trên trang tính tập dữ liệu mẫu nhanh và hằng số mảng được đặt tên trong sổ làm việc mẫu =TEXT(DATE(YEAR(TODAY()),SEQUENCE(1,12),1),"mmm") Điều này sử dụng hàm DATE để tạo ngày dựa trên năm hiện tại, SEQUENCE tạo một hằng số mảng từ 1 đến 12 cho tháng 1 đến tháng 12, sau đó hàm TEXT chuyển đổi định dạng hiển thị thành "mmm" (tháng 1, tháng 2, tháng 3, v.v. ). Nếu bạn muốn hiển thị tên đầy đủ của tháng, chẳng hạn như tháng 1, bạn sẽ sử dụng "mmmm" Khi bạn sử dụng một hằng số đã đặt tên làm công thức mảng, hãy nhớ nhập dấu bằng, như trong =Quarter1, không chỉ Quarter1. Nếu không, Excel sẽ diễn giải mảng dưới dạng một chuỗi văn bản và công thức của bạn sẽ không hoạt động như mong đợi. Cuối cùng, hãy nhớ rằng bạn có thể sử dụng kết hợp các chức năng, văn bản và số. Tất cả phụ thuộc vào mức độ sáng tạo mà bạn muốn có được Hằng số mảng đang hoạt độngCác ví dụ sau minh họa một số cách mà bạn có thể đặt hằng số mảng để sử dụng trong công thức mảng. Một số ví dụ sử dụng hàm TRANSPOSE để chuyển hàng thành cột và ngược lại
Đưa các công thức mảng cơ bản vào hoạt độngPhần này cung cấp các ví dụ về công thức mảng cơ bản
Xử lý lỗi
Tổng giá trị dựa trên điều kiệnBạn có thể cần tính tổng các giá trị dựa trên các điều kiện Ví dụ: công thức mảng này chỉ tính tổng các số nguyên dương trong một phạm vi có tên là Doanh số, đại diện cho các ô E9. E24 trong ví dụ trên =SUM(IF(Doanh số>0,Doanh số)) Hàm IF tạo một mảng các giá trị dương và sai. Hàm SUM về cơ bản bỏ qua các giá trị sai vì 0+0=0. Phạm vi ô mà bạn sử dụng trong công thức này có thể bao gồm bất kỳ số lượng hàng và cột nào Bạn cũng có thể tính tổng các giá trị đáp ứng nhiều điều kiện. Ví dụ: công thức mảng này tính toán các giá trị lớn hơn 0 VÀ nhỏ hơn 2500 =SUM((Doanh số>0)*(Doanh số<2500)*(Doanh số)) Hãy nhớ rằng công thức này trả về lỗi nếu phạm vi chứa một hoặc nhiều ô không phải là số Bạn cũng có thể tạo công thức mảng sử dụng một loại điều kiện OR. Ví dụ: bạn có thể tính tổng các giá trị lớn hơn 0 HOẶC nhỏ hơn 2500 =SUM(IF((Doanh số>0)+(Doanh số<2500),Doanh số)) Bạn không thể sử dụng trực tiếp các hàm AND và OR trong công thức mảng vì các hàm đó trả về một kết quả duy nhất, TRUE hoặc FALSE và các hàm mảng yêu cầu các mảng kết quả. Bạn có thể giải quyết vấn đề bằng cách sử dụng logic được hiển thị trong công thức trước đó. Nói cách khác, bạn thực hiện các phép toán, chẳng hạn như cộng hoặc nhân trên các giá trị đáp ứng điều kiện OR hoặc AND Ví dụ này chỉ cho bạn cách xóa các số 0 khỏi một phạm vi khi bạn cần tính trung bình các giá trị trong phạm vi đó. Công thức sử dụng một phạm vi dữ liệu có tên là Bán hàng =AVERAGE(IF(Doanh số<>0,Doanh số)) Hàm IF tạo một mảng các giá trị không bằng 0 rồi chuyển các giá trị đó cho hàm AVERAGE Đếm số lượng khác biệt giữa hai dãy ôCông thức mảng này so sánh các giá trị trong hai phạm vi ô có tên là MyData và YourData, đồng thời trả về số điểm khác biệt giữa hai phạm vi đó. Nếu nội dung của hai phạm vi giống hệt nhau, công thức trả về 0. Để sử dụng công thức này, các phạm vi ô cần phải có cùng kích thước và cùng thứ nguyên. Ví dụ: nếu MyData là phạm vi 3 hàng x 5 cột thì YourData cũng phải là 3 hàng x 5 cột =SUM(IF(MyData=YourData,0,1)) Công thức tạo một mảng mới có cùng kích thước với các phạm vi mà bạn đang so sánh. Hàm IF điền vào mảng với giá trị 0 và giá trị 1 (0 cho các ô không khớp và 1 cho các ô giống hệt nhau). Hàm SUM sau đó trả về tổng của các giá trị trong mảng Bạn có thể đơn giản hóa công thức như thế này =SUM(1*(Dữ liệu của tôi<>Dữ liệu của bạn)) Giống như công thức đếm các giá trị lỗi trong một phạm vi, công thức này hoạt động vì TRUE*1=1 và FALSE*1=0 Công thức mảng này trả về số hàng của giá trị lớn nhất trong phạm vi một cột có tên là Dữ liệu =MIN(IF(Dữ liệu=MAX(Dữ liệu),ROW(Dữ liệu),"")) Hàm IF tạo một mảng mới tương ứng với phạm vi có tên là Dữ liệu. Nếu một ô tương ứng chứa giá trị lớn nhất trong phạm vi, thì mảng chứa số hàng. Mặt khác, mảng chứa một chuỗi rỗng (""). Hàm MIN sử dụng mảng mới làm đối số thứ hai của nó và trả về giá trị nhỏ nhất, tương ứng với số hàng của giá trị lớn nhất trong Dữ liệu. Nếu phạm vi có tên là Dữ liệu chứa các giá trị tối đa giống hệt nhau, thì công thức sẽ trả về hàng của giá trị đầu tiên Nếu bạn muốn trả về địa chỉ ô thực tế có giá trị lớn nhất, hãy sử dụng công thức này =ADDRESS(MIN(IF(Dữ liệu=MAX(Dữ liệu),ROW(Dữ liệu),"")),COLUMN(Dữ liệu)) Bạn sẽ tìm thấy các ví dụ tương tự trong sổ làm việc mẫu trên trang tính Sự khác biệt giữa các bộ dữ liệu Bài tập này chỉ cho bạn cách sử dụng các công thức mảng nhiều ô và một ô để tính một tập hợp các số liệu bán hàng. Tập hợp các bước đầu tiên sử dụng công thức nhiều ô để tính toán một tập hợp các tổng phụ. Bộ thứ hai sử dụng công thức một ô để tính tổng lớn Công thức mảng nhiều ô Sao chép toàn bộ bảng bên dưới và dán vào ô A1 trong trang tính trống Nhân viên bán hàng Loại xe ô tô Số Đã bán Đơn vị Giá Tổng doanh số bán hàng Barnhill xe mui trần 5 33000 xe mui trần 4 37000 nghiêng xe mui trần 6 24000 xe mui trần 8 21000 Jordan xe mui trần 3 29000 xe mui trần 1 31000 Pica xe mui trần 9 24000 xe mui trần 5 37000 Sánchez xe mui trần 6 33000 xe mui trần 8 31000 Công thức (Tổng cộng) Tổng cộng '=TỔNG (C2. C11*D2. D11) =SUM(C2. C11*D2. D11) Để xem Tổng Doanh số bán xe coupe và sedan của từng nhân viên bán hàng, hãy chọn các ô E2. E11, nhập công thức =C2. C11*D2. D11, rồi nhấn Ctrl+Shift+Enter Để xem Tổng cộng của tất cả doanh số, hãy chọn ô F11, nhập công thức =SUM(C2. C11*D2. D11), rồi nhấn Ctrl+Shift+Enter Khi bạn nhấn Ctrl+Shift+Enter, Excel sẽ bao quanh công thức bằng dấu ngoặc nhọn ({ }) và chèn một phiên bản của công thức vào mỗi ô của phạm vi đã chọn. Điều này xảy ra rất nhanh, vì vậy những gì bạn thấy trong cột E là tổng số tiền bán được cho từng loại xe của mỗi nhân viên bán hàng. Nếu bạn chọn E2, sau đó chọn E3, E4, v.v., bạn sẽ thấy cùng một công thức được hiển thị. {=C2. C11*D2. D11}.
Trong ô D13 của sổ làm việc, hãy nhập công thức sau, rồi nhấn Ctrl+Shift+Enter =SUM(C2. C11*D2. D11) Trong trường hợp này, Excel sẽ nhân các giá trị trong mảng (phạm vi ô từ C2 đến D11) rồi sử dụng hàm SUM để cộng các tổng lại với nhau. Kết quả là tổng doanh thu là $1.590.000. Ví dụ này cho thấy loại công thức này có thể mạnh mẽ như thế nào. Ví dụ: giả sử bạn có 1.000 hàng dữ liệu. Bạn có thể tính tổng một phần hoặc toàn bộ dữ liệu đó bằng cách tạo công thức mảng trong một ô duy nhất thay vì kéo công thức xuống trong 1.000 hàng Ngoài ra, hãy lưu ý rằng công thức một ô trong ô D13 hoàn toàn độc lập với công thức nhiều ô (công thức trong các ô từ E2 đến E11). Đây là một lợi thế khác của việc sử dụng công thức mảng — tính linh hoạt. Bạn có thể thay đổi công thức ở cột E hoặc xóa hẳn cột đó mà không ảnh hưởng đến công thức ở D13 Công thức mảng cũng mang lại những lợi thế này
Cú pháp công thức mảngNói chung, công thức mảng sử dụng cú pháp công thức chuẩn. Tất cả chúng đều bắt đầu bằng dấu bằng (=) và bạn có thể sử dụng hầu hết các hàm Excel tích hợp sẵn trong công thức mảng của mình. Điểm khác biệt chính là khi sử dụng công thức mảng, bạn nhấn Ctrl+Shift+Enter để nhập công thức của mình. Khi bạn thực hiện điều này, Excel sẽ bao quanh công thức mảng của bạn bằng dấu ngoặc nhọn — nếu bạn nhập dấu ngoặc nhọn theo cách thủ công, công thức của bạn sẽ được chuyển đổi thành chuỗi văn bản và công thức sẽ không hoạt động Các hàm mảng có thể là một cách hiệu quả để xây dựng các công thức phức tạp. Công thức mảng =SUM(C2. C11*D2. D11) giống như thế này. =SUM(C2*D2,C3*D3,C4*D4,C5*D5,C6*D6,C7*D7,C8*D8,C9*D9,C10*D10,C11*D11) Nhập và thay đổi công thức mảngQuan trọng. Nhấn Ctrl+Shift+Enter bất cứ khi nào bạn cần nhập công thức mảng. Điều này áp dụng cho cả công thức đơn ô và đa ô Bất cứ khi nào bạn làm việc với các công thức nhiều ô, hãy nhớ
Mở rộng công thức mảngĐôi khi, bạn có thể cần mở rộng một công thức mảng. Chọn ô đầu tiên trong phạm vi mảng hiện có và tiếp tục cho đến khi bạn đã chọn toàn bộ phạm vi mà bạn muốn mở rộng công thức thành. Nhấn F2 để chỉnh sửa công thức, sau đó nhấn CTRL+SHIFT+ENTER để xác nhận công thức sau khi bạn đã điều chỉnh phạm vi công thức. Điều quan trọng là chọn toàn bộ phạm vi, bắt đầu với ô trên cùng bên trái trong mảng. Ô trên cùng bên trái là ô được chỉnh sửa Nhược điểm của việc sử dụng công thức mảngCông thức mảng rất tuyệt, nhưng chúng có thể có một số nhược điểm
Tìm hiểu về hằng mảngHằng số mảng là một thành phần của công thức mảng. Bạn tạo các hằng số mảng bằng cách nhập danh sách các mục rồi bao quanh danh sách theo cách thủ công bằng dấu ngoặc nhọn ({ }), như thế này ={1,2,3,4,5} Bây giờ, bạn biết rằng bạn cần nhấn Ctrl+Shift+Enter khi tạo công thức mảng. Vì hằng số mảng là một thành phần của công thức mảng nên bạn đặt các hằng số trong dấu ngoặc nhọn bằng cách nhập chúng theo cách thủ công. Sau đó, bạn sử dụng Ctrl+Shift+Enter để nhập toàn bộ công thức Nếu bạn phân tách các mục bằng dấu phẩy, bạn tạo một mảng ngang (một hàng). Nếu bạn tách các mục bằng cách sử dụng dấu chấm phẩy, bạn tạo một mảng dọc (một cột). Để tạo một mảng hai chiều, bạn phân định các mục trong mỗi hàng bằng cách sử dụng dấu phẩy và phân định từng hàng bằng dấu chấm phẩy Đây là một mảng trong một hàng. {1,2,3,4}. Đây là một mảng trong một cột. {1;2;3;4}. Và đây là một mảng gồm hai hàng và bốn cột. {1,2,3,4;5,6,7,8}. Trong mảng hai hàng, hàng đầu tiên là 1, 2, 3 và 4 và hàng thứ hai là 5, 6, 7 và 8. Một dấu chấm phẩy đơn ngăn cách hai hàng, giữa 4 và 5 Cũng như công thức mảng, bạn có thể sử dụng hằng mảng với hầu hết các hàm có sẵn mà Excel cung cấp. Các phần sau đây giải thích cách tạo từng loại hằng số và cách sử dụng các hằng số này với các hàm trong Excel Tạo hằng số một chiều và hai chiềuCác quy trình sau đây sẽ cung cấp cho bạn một số thực hành trong việc tạo các hằng số ngang, dọc và hai chiều Tạo một hằng số ngang
Tạo một hằng số dọc
Tạo hằng số hai chiều
Sử dụng hằng số trong công thức Đây là một ví dụ đơn giản sử dụng hằng số
Phần tiếp theo giải thích cách hoạt động của công thức Cú pháp hằng mảngCông thức bạn vừa sử dụng chứa một số phần 1. Hàm số 2. Mảng được lưu trữ 3. Nhà điều hành 4. Hằng số mảng Phần tử cuối cùng bên trong cặp ngoặc đơn là hằng số mảng. {1,2,3,4,5}. Hãy nhớ rằng Excel không bao quanh các hằng số mảng bằng dấu ngoặc nhọn; . Cũng nên nhớ rằng sau khi bạn thêm hằng số vào công thức mảng, bạn nhấn Ctrl+Shift+Enter để nhập công thức Vì Excel thực hiện các thao tác trên các biểu thức nằm trong dấu ngoặc đơn trước nên hai phần tử tiếp theo sẽ phát huy tác dụng là các giá trị được lưu trữ trong sổ làm việc (A1. E1) và toán tử. Tại thời điểm này, công thức nhân các giá trị trong mảng được lưu trữ với các giá trị tương ứng trong hằng số. Nó tương đương với =SUM(A1*1,B1*2,C1*3,D1*4,E1*5) Cuối cùng, hàm SUM cộng các giá trị và tổng 85 xuất hiện trong ô A3 Để tránh sử dụng mảng được lưu trữ và chỉ giữ toàn bộ hoạt động trong bộ nhớ, hãy thay thế mảng được lưu trữ bằng hằng số mảng khác =SUM({3,4,5,6,7}*{1,2,3,4,5}) Để thử điều này, hãy sao chép hàm, chọn một ô trống trong sổ làm việc của bạn, dán công thức vào thanh công thức, rồi nhấn Ctrl+Shift+Enter. Bạn sẽ thấy kết quả tương tự như bạn đã làm trong bài tập trước đó sử dụng công thức mảng =SUM(A1. E1*{1,2,3,4,5}) Các yếu tố mà bạn có thể sử dụng trong hằng sốHằng số mảng có thể chứa số, văn bản, giá trị logic (chẳng hạn như TRUE và FALSE) và giá trị lỗi (chẳng hạn như #N/A). Bạn có thể sử dụng các số ở định dạng số nguyên, số thập phân và khoa học. Nếu bạn bao gồm văn bản, bạn cần bao quanh văn bản bằng dấu ngoặc kép (") Hằng số mảng không thể chứa các mảng, công thức hoặc hàm bổ sung. Nói cách khác, chúng chỉ có thể chứa văn bản hoặc số được phân tách bằng dấu phẩy hoặc dấu chấm phẩy. Excel hiển thị thông báo cảnh báo khi bạn nhập công thức chẳng hạn như {1,2,A1. D4} hoặc {1,2,SUM(Q2. Z8)}. Ngoài ra, các giá trị số không được chứa dấu phần trăm, ký hiệu đô la, dấu phẩy hoặc dấu ngoặc đơn Đặt tên cho hằng mảngMột trong những cách tốt nhất để sử dụng hằng số mảng là đặt tên cho chúng. Các hằng số được đặt tên có thể dễ sử dụng hơn nhiều và chúng có thể che giấu một số độ phức tạp của công thức mảng của bạn khỏi những người khác. Để đặt tên cho hằng số mảng và sử dụng nó trong công thức, hãy làm như sau
Khi bạn sử dụng hằng số đã đặt tên làm công thức mảng, hãy nhớ nhập dấu bằng. Nếu không, Excel sẽ diễn giải mảng dưới dạng một chuỗi văn bản và công thức của bạn sẽ không hoạt động như mong đợi. Cuối cùng, hãy nhớ rằng bạn có thể sử dụng kết hợp văn bản và số Khắc phục sự cố hằng số mảngTìm kiếm các sự cố sau khi hằng số mảng của bạn không hoạt động
Hằng số mảng đang hoạt độngCác ví dụ sau minh họa một số cách mà bạn có thể đặt hằng số mảng để sử dụng trong công thức mảng. Một số ví dụ sử dụng hàm TRANSPOSE để chuyển hàng thành cột và ngược lại Nhân từng mục trong một mảng
Bình phương các mục trong một mảng
Hoán vị một hàng một chiều
Chuyển vị cột một chiều
Mặc dù bạn đã nhập một hằng số mảng dọc, nhưng hàm TRANSPOSE sẽ chuyển đổi hằng số đó thành một hàng Hoán vị hằng số hai chiều
Đưa các công thức mảng cơ bản vào hoạt độngPhần này cung cấp các ví dụ về công thức mảng cơ bản Tạo mảng và hằng mảng từ các giá trị hiện có Ví dụ sau giải thích cách sử dụng công thức mảng để tạo liên kết giữa các phạm vi ô trong các trang tính khác nhau. Nó cũng chỉ cho bạn cách tạo một hằng số mảng từ cùng một tập giá trị Tạo một mảng từ các giá trị hiện có
Tạo một hằng số mảng từ các giá trị hiện có
Đếm các ký tự trong một dải ô Ví dụ sau đây cho bạn biết cách đếm số lượng ký tự, kể cả khoảng trắng, trong một dải ô
Công thức sau đây được sử dụng trong ô A8 đếm tổng số ký tự (66) trong các ô từ A2 đến A6 =SUM(LEN(A2. A6)) Trong trường hợp này, hàm LEN trả về độ dài của mỗi chuỗi văn bản trong mỗi ô trong phạm vi. Hàm SUM sau đó cộng các giá trị đó lại với nhau và hiển thị kết quả (66) Tìm n giá trị nhỏ nhất trong một dãy Ví dụ này cho thấy cách tìm ba giá trị nhỏ nhất trong một dải ô
Công thức này sử dụng một hằng số mảng để đánh giá hàm NHỎ ba lần và trả về các phần tử nhỏ nhất (1), nhỏ thứ hai (2) và nhỏ thứ ba (3) trong mảng được chứa trong các ô A1. A10 Để tìm thêm giá trị, bạn thêm nhiều đối số hơn vào hằng số. Bạn cũng có thể sử dụng các hàm bổ sung với công thức này, chẳng hạn như SUM hoặc AVERAGE. Ví dụ =SUM(NHỎ(A1. A10,{1,2,3}) =AVERAGE(NHỎ(A1. A10,{1,2,3}) Tìm n giá trị lớn nhất trong một dãy Để tìm các giá trị lớn nhất trong một phạm vi, bạn có thể thay thế hàm SMALL bằng hàm LARGE. Ngoài ra, ví dụ sau sử dụng các hàm ROW và INDIRECT
Tại thời điểm này, có thể hữu ích khi biết một chút về các chức năng ROW và INDIRECT. Bạn có thể sử dụng hàm ROW để tạo một mảng các số nguyên liên tiếp. Ví dụ: chọn một cột trống gồm 10 ô trong sổ làm việc thực hành của bạn, nhập công thức mảng này, rồi nhấn Ctrl+Shift+Enter =ROW(1. 10) Công thức tạo cột 10 số nguyên liên tiếp. Để xem sự cố tiềm ẩn, hãy chèn một hàng phía trên phạm vi chứa công thức mảng (nghĩa là phía trên hàng 1). Excel điều chỉnh các tham chiếu hàng và công thức tạo ra các số nguyên từ 2 đến 11. Để khắc phục vấn đề đó, bạn thêm hàm INDIRECT vào công thức =ROW(INDIRECT("1. 10")) Hàm INDIRECT sử dụng các chuỗi văn bản làm đối số của nó (đó là lý do tại sao phạm vi 1. 10 được bao quanh bởi dấu ngoặc kép). Excel không điều chỉnh giá trị văn bản khi bạn chèn hàng hoặc di chuyển công thức mảng. Kết quả là hàm ROW luôn tạo ra mảng các số nguyên mà bạn muốn Hãy xem công thức mà bạn đã sử dụng trước đó — =LARGE(A5. A14, HÀNG( GIÁN TIẾP("1. 3"))) — bắt đầu từ dấu ngoặc đơn bên trong và mở rộng ra bên ngoài. Hàm INDIRECT trả về một tập hợp các giá trị văn bản, trong trường hợp này là các giá trị từ 1 đến 3. Hàm ROW lần lượt tạo ra một mảng cột ba ô. Hàm LARGE sử dụng các giá trị trong phạm vi ô A5. A14 và nó được đánh giá ba lần, một lần cho mỗi tham chiếu do hàm ROW trả về. Các giá trị 3200, 2700 và 2000 được trả về mảng cột ba ô. Nếu muốn tìm nhiều giá trị hơn, bạn thêm dãy ô lớn hơn vào hàm INDIRECT Cũng như các ví dụ trước, bạn có thể sử dụng công thức này với các hàm khác, chẳng hạn như SUM và AVERAGE Tìm chuỗi văn bản dài nhất trong một dải ô Quay lại ví dụ về chuỗi văn bản trước đó, nhập công thức sau vào một ô trống và nhấn Ctrl+Shift+Enter =INDEX(A2. A6,TRẬN ĐẤU(TỐI ĐA(LEN(A2. A6)),LEN(A2. A6),0),1) Dòng chữ "bó ô đó" xuất hiện Hãy xem xét kỹ hơn công thức, bắt đầu từ các yếu tố bên trong và hướng ra bên ngoài. Hàm LEN trả về độ dài của từng mục trong phạm vi ô A2. A6. Hàm MAX tính toán giá trị lớn nhất trong số các mục đó, tương ứng với chuỗi văn bản dài nhất, nằm trong ô A3 Đây là nơi mọi thứ trở nên phức tạp một chút. Hàm MATCH tính toán độ lệch (vị trí tương đối) của ô chứa chuỗi văn bản dài nhất. Để làm điều đó, nó cần ba đối số. giá trị tra cứu, mảng tra cứu và loại đối sánh. Hàm MATCH tìm kiếm mảng tra cứu cho giá trị tra cứu đã chỉ định. Trong trường hợp này, giá trị tra cứu là chuỗi văn bản dài nhất (TỐI ĐA(LEN(A2. A6)) và chuỗi đó nằm trong mảng này LEN(A2. A6) Đối số loại đối sánh là 0. Loại đối sánh có thể bao gồm giá trị 1, 0 hoặc -1. Nếu bạn chỉ định 1, MATCH trả về giá trị lớn nhất nhỏ hơn hoặc bằng giá trị tra cứu. Nếu bạn chỉ định 0, MATCH trả về giá trị đầu tiên chính xác bằng giá trị tra cứu. Nếu bạn chỉ định -1, MATCH sẽ tìm giá trị nhỏ nhất lớn hơn hoặc bằng giá trị tra cứu đã chỉ định. Nếu bạn bỏ qua một loại đối sánh, Excel sẽ giả định 1 Cuối cùng, hàm INDEX nhận các đối số này. một mảng và một số hàng và cột trong mảng đó. Phạm vi ô A2. A6 cung cấp mảng, hàm MATCH cung cấp địa chỉ ô và đối số cuối cùng (1) chỉ định rằng giá trị đến từ cột đầu tiên trong mảng Đưa công thức mảng nâng cao vào hoạt độngPhần này cung cấp các ví dụ về công thức mảng nâng cao Tính tổng một phạm vi chứa các giá trị lỗi Hàm SUM trong Excel không hoạt động khi bạn cố tính tổng một phạm vi có chứa giá trị lỗi, chẳng hạn như #N/A. Ví dụ này chỉ cho bạn cách tính tổng các giá trị trong một dải ô có tên là Dữ liệu chứa lỗi =SUM(IF(ISERROR(Dữ liệu),"",Dữ liệu)) Công thức tạo một mảng mới chứa các giá trị ban đầu trừ đi mọi giá trị lỗi. Bắt đầu từ các hàm bên trong và hoạt động bên ngoài, hàm ISERROR tìm kiếm lỗi trong phạm vi ô (Dữ liệu). Hàm IF trả về một giá trị cụ thể nếu một điều kiện bạn chỉ định đánh giá là TRUE và một giá trị khác nếu nó đánh giá là FALSE. Trong trường hợp này, nó trả về các chuỗi trống ("") cho tất cả các giá trị lỗi vì chúng đánh giá là TRUE và nó trả về các giá trị còn lại từ dải ô (Dữ liệu) vì chúng đánh giá là FALSE, nghĩa là chúng không chứa giá trị lỗi. Hàm SUM sau đó tính tổng cho mảng đã lọc Đếm số lượng giá trị lỗi trong một phạm vi Ví dụ này tương tự như công thức trước, nhưng nó trả về số lượng giá trị lỗi trong một dải ô có tên là Dữ liệu thay vì lọc chúng ra =SUM(IF(ISERROR(Dữ liệu),1,0)) Công thức này tạo một mảng chứa giá trị 1 cho các ô có lỗi và giá trị 0 cho các ô không có lỗi. Bạn có thể đơn giản hóa công thức và đạt được kết quả tương tự bằng cách loại bỏ đối số thứ ba cho hàm IF, như sau =SUM(IF(ISERROR(Dữ liệu),1)) Nếu bạn không chỉ định đối số, hàm IF sẽ trả về FALSE nếu một ô không chứa giá trị lỗi. Bạn có thể đơn giản hóa công thức hơn nữa =SUM(IF(ISERROR(Dữ liệu)*1)) Phiên bản này hoạt động vì TRUE*1=1 và FALSE*1=0 Tổng giá trị dựa trên điều kiện Bạn có thể cần tính tổng các giá trị dựa trên các điều kiện. Ví dụ: công thức mảng này chỉ tính tổng các số nguyên dương trong một phạm vi có tên là Doanh số =SUM(IF(Doanh số>0,Doanh số)) Hàm IF tạo một mảng các giá trị dương và giá trị sai. Hàm SUM về cơ bản bỏ qua các giá trị sai vì 0+0=0. Phạm vi ô mà bạn sử dụng trong công thức này có thể bao gồm bất kỳ số lượng hàng và cột nào Bạn cũng có thể tính tổng các giá trị đáp ứng nhiều điều kiện. Ví dụ: công thức mảng này tính toán các giá trị lớn hơn 0 và nhỏ hơn hoặc bằng 5 =SUM((Doanh số>0)*(Doanh số<=5)*(Doanh số)) Hãy nhớ rằng công thức này trả về lỗi nếu phạm vi chứa một hoặc nhiều ô không phải là số Bạn cũng có thể tạo công thức mảng sử dụng một loại điều kiện OR. Ví dụ: bạn có thể tính tổng các giá trị nhỏ hơn 5 và lớn hơn 15 =SUM(IF((Sales<5)+(Sales>15),Sales)) Hàm IF tìm tất cả các giá trị nhỏ hơn 5 và lớn hơn 15 rồi chuyển các giá trị đó cho hàm SUM Bạn không thể sử dụng trực tiếp các hàm AND và OR trong công thức mảng vì các hàm đó trả về một kết quả duy nhất, TRUE hoặc FALSE và các hàm mảng yêu cầu các mảng kết quả. Bạn có thể giải quyết vấn đề bằng cách sử dụng logic được hiển thị trong công thức trước đó. Nói cách khác, bạn thực hiện các phép toán, chẳng hạn như cộng hoặc nhân, trên các giá trị đáp ứng điều kiện OR hoặc AND Tính trung bình không bao gồm các số không Ví dụ này chỉ cho bạn cách xóa các số 0 khỏi một phạm vi khi bạn cần tính trung bình các giá trị trong phạm vi đó. Công thức sử dụng một phạm vi dữ liệu có tên là Bán hàng =AVERAGE(IF(Doanh số<>0,Doanh số)) Hàm IF tạo một mảng các giá trị không bằng 0 rồi chuyển các giá trị đó cho hàm AVERAGE Đếm số lượng khác biệt giữa hai dãy ô Công thức mảng này so sánh các giá trị trong hai phạm vi ô có tên là MyData và YourData, đồng thời trả về số điểm khác biệt giữa hai phạm vi đó. Nếu nội dung của hai phạm vi giống hệt nhau, công thức trả về 0. Để sử dụng công thức này, các phạm vi ô cần phải có cùng kích thước và cùng thứ nguyên (ví dụ: nếu MyData là một phạm vi gồm 3 hàng x 5 cột, thì YourData cũng phải là 3 hàng x 5 cột) =SUM(IF(MyData=YourData,0,1)) Công thức tạo một mảng mới có cùng kích thước với các phạm vi mà bạn đang so sánh. Hàm IF điền vào mảng với giá trị 0 và giá trị 1 (0 cho các ô không khớp và 1 cho các ô giống hệt nhau). Hàm SUM sau đó trả về tổng của các giá trị trong mảng Bạn có thể đơn giản hóa công thức như thế này =SUM(1*(Dữ liệu của tôi<>Dữ liệu của bạn)) Giống như công thức đếm các giá trị lỗi trong một phạm vi, công thức này hoạt động vì TRUE*1=1 và FALSE*1=0 Tìm vị trí của giá trị lớn nhất trong một phạm vi Công thức mảng này trả về số hàng của giá trị lớn nhất trong phạm vi một cột có tên là Dữ liệu =MIN(IF(Dữ liệu=MAX(Dữ liệu),ROW(Dữ liệu),"")) Hàm IF tạo một mảng mới tương ứng với phạm vi có tên là Dữ liệu. Nếu một ô tương ứng chứa giá trị lớn nhất trong phạm vi, thì mảng chứa số hàng. Mặt khác, mảng chứa một chuỗi rỗng (""). Hàm MIN sử dụng mảng mới làm đối số thứ hai của nó và trả về giá trị nhỏ nhất, tương ứng với số hàng của giá trị lớn nhất trong Dữ liệu. Nếu phạm vi có tên là Dữ liệu chứa các giá trị tối đa giống hệt nhau, thì công thức sẽ trả về hàng của giá trị đầu tiên Nếu bạn muốn trả về địa chỉ ô thực tế có giá trị lớn nhất, hãy sử dụng công thức này =ADDRESS(MIN(IF(Dữ liệu=MAX(Dữ liệu),ROW(Dữ liệu),"")),COLUMN(Dữ liệu)) Nhìn nhậnCác phần của bài viết này dựa trên một loạt cột Excel Power User do Colin Wilcox viết và được điều chỉnh từ chương 14 và 15 của Công thức Excel 2002, một cuốn sách được viết bởi John Walkenbach, cựu MVP của Excel |