Microsoft 365 (tên mới của Office 365) có một số hàm mới dùng cho Excel 365 chuyên trị mảng. Tương tự hàm Query của Google Sheets, các hàm mảng mới này chỉ cần gõ công thức vào 1 ô và ta sẽ có kết quả là một mảng. Mảng này có thể là mảng 1 dòng nhiều cột, 1 cột nhiều dòng, thậm chí một ma trận dòng cột các giá trị.
Các hàm mảng đó là:
- Hàm Unique
- Hàm Sort
- Hàm SortBy
- Hàm RandArray
- Hàm Sequence
- Hàm Filter
Dưới đây xin giới thiệu lần lượt các hàm trên, nội dung do tôi nghiên cứu trên mạng (các tài liệu tiếng Anh), thực hành và viết lại
I. Hàm UNIQUE
Hàm Unique dùng để lấy danh sách duy nhất từ 1 danh sách nguồn có dữ liệu trùng. Khác với những hàm và công thức trước đây, hàm Unique trả về 1 mảng các giá trị mà không cần Ctrl Shift Enter.
Cú pháp
Hàm Unique có 3 tham số trong đó tham số thứ nhất là bắt buộc và 2 tham số sau không bắt buộc phải điền
=UNIQUE(array, [by_col], [exactly_once])
Trong đó:
Thí dụ mẫu cho hàm UNIQUE
Thí dụ 1
Sự khác nhau khi dùng tham số thứ 3 là True hay False (1 hay 0), mặc định False.
Distinct list
Công thức ô H2 là
H2 =UNIQUE(B2:B13)

Với công thức bỏ qua tham số 2 và 3, sẽ mặc định tham số 2 là cột (kết quả thành 1 cột) và tham số 3 lấy hết danh sách duy nhất tất cả giá trị có xuất hiện.
Nhận xét
Chỉ cần gõ công thức vào 1 ô trên cùng và enter, kết quả xuất hiện ở nhiều ô của cả cột. Không cần Ctrl Shift Enter
Vùng kết quả có viền xanh nhạt chung quanh
Ô đầu tiên chứa công thức để chỉnh sửa, các ô còn lại nhìn thấy công thức trên thanh công thức nhưng không cho sửa xoá
Chỉ cần xoá ô đầu tiên, không cần xoá cả vùng như công thức mảng phiên bản cũ.
Unique list (exactly once)
Công thức ô G2 là:
G2 =UNIQUE(B2:B13,,1)

Với công thức bỏ qua tham số 2 và gán True cho tham số 3, hàm trả về 1 cột các giá trị chỉ xuất hiện duy nhất 1 lần. Các giá trị xuất hiện nhiều lần bị bỏ qua
Thí dụ 2 – UNIQUE với 2 hoặc nhiều cột
Hàm UNIQUE không giới hạn số lượng cột.
Lấy danh sách duy nhất từ 2 hoặc nhiều cột
Tham số thứ nhất bao nhiêu cột thì kết quả trả về bấy nhiêu cột.
Công thức gõ vào ô F2 là:
F2 =UNIQUE(A2:B13)
Kết quả trả về là 2 cột

Nối 2 cột
Dùng công thức nối chuỗi nối hẳn 2 mảng vơi nhau, không cần ctrl Shift enter
Công thức:
H2 =UNIQUE(A2:A13&” “&B2:B13)

Nhiều cột không đúng thứ tự cột
Đôi khi chúng ta cần lấy các cột cách xa nhau, hoặc thay đổi thứ tự cột kết quả. Trường hợp này ta dùng hàm CHOOSE để lấy và sắp xếp


Thí dụ 3 – Dùng UNIQUE cho tham chiếu ngang nhiều cột
Mặc định hàm Unique trả về mảng giá trị theo dòng, nhưng tham số thứ 2 cho phép trả về mảng giá trị theo cột
Sử dụng tham số thứ 2 LÀ TRUE hoặc 1
Công thức tại ô B9 là
B9 =UNIQUE(B1:I1,1)
Kết quả sẽ dàn hàng ngang nhiều cột

Dùng TRANSPOSE chuyển dòng thành cột
Công thức ô K2 như sau, và không cần Ctrl Shift Enter
K2 =TRANSPOSE(UNIQUE(B1:I1,1))

Thí dụ 4 – kết hợp UNIQUE và SORT tạo validation list
Công thức tại G2 là
G2 =SORT(UNIQUE(A2:A13&” “&B2:B13))

Để dùng kết quả trên làm dữ liệu nguồn cho ô I2, đứng tại I2 mở hộp thoại Data validation
Trên hộp thoại chọn List, và Source ghi =$G$2#

Với ký tự #, Excel 365 hiểu là lấy mảng kết quả bắt đầu từ G2 chứ không phải chỉ 1 giá trị chứa trong ô G2
Kết quả validation tại ô I1 như sau

(Còn tiếp)
Các hàm mảng đó là:
- Hàm Unique
- Hàm Sort
- Hàm SortBy
- Hàm RandArray
- Hàm Sequence
- Hàm Filter
Dưới đây xin giới thiệu lần lượt các hàm trên, nội dung do tôi nghiên cứu trên mạng (các tài liệu tiếng Anh), thực hành và viết lại
I. Hàm UNIQUE
Hàm Unique dùng để lấy danh sách duy nhất từ 1 danh sách nguồn có dữ liệu trùng. Khác với những hàm và công thức trước đây, hàm Unique trả về 1 mảng các giá trị mà không cần Ctrl Shift Enter.
Cú pháp
Hàm Unique có 3 tham số trong đó tham số thứ nhất là bắt buộc và 2 tham số sau không bắt buộc phải điền
=UNIQUE(array, [by_col], [exactly_once])
Trong đó:
- array: vùng dữ liệu hoặc mảng cần lấy danh sách duy nhất.
- [by_col]: Tuỳ chọn dạng True/ False (mặc định False). False (hoặc 0) lấy danh sách duy nhất và trả về 1 cột, True (hoặc 1) lấy danh sách duy nhất và trả về thành 1 dòng.
- [exactly_once]: Tuỳ chọn dạng True/ False (mặc định False). Tuỳ chọn này tuỳ theo cách hiểu thế nào là duy nhất. Xem thí dụ 1.
- Nếu duy nhất mang nghĩa “chỉ lấy những giá trị xuất hiện duy nhất 1 lần”, thì sử dụng True hoặc 1. Tiếng Anh là Unique list
- Nếu duy nhất mang nghĩa “lấy duy nhất tất cả giá trị có xuất hiện” thì sử dụng False hoặc 0. Mỗi giá trị xuất hiện 1 lần hay bao nhiêu lần cũng lấy 1 trong danh sách duy nhất kết quả. Tiếng Anh là Distinct list
Thí dụ mẫu cho hàm UNIQUE
Thí dụ 1
Sự khác nhau khi dùng tham số thứ 3 là True hay False (1 hay 0), mặc định False.
Distinct list
Công thức ô H2 là
H2 =UNIQUE(B2:B13)

Với công thức bỏ qua tham số 2 và 3, sẽ mặc định tham số 2 là cột (kết quả thành 1 cột) và tham số 3 lấy hết danh sách duy nhất tất cả giá trị có xuất hiện.
Nhận xét
Chỉ cần gõ công thức vào 1 ô trên cùng và enter, kết quả xuất hiện ở nhiều ô của cả cột. Không cần Ctrl Shift Enter
Vùng kết quả có viền xanh nhạt chung quanh
Ô đầu tiên chứa công thức để chỉnh sửa, các ô còn lại nhìn thấy công thức trên thanh công thức nhưng không cho sửa xoá
Chỉ cần xoá ô đầu tiên, không cần xoá cả vùng như công thức mảng phiên bản cũ.
Unique list (exactly once)
Công thức ô G2 là:
G2 =UNIQUE(B2:B13,,1)

Với công thức bỏ qua tham số 2 và gán True cho tham số 3, hàm trả về 1 cột các giá trị chỉ xuất hiện duy nhất 1 lần. Các giá trị xuất hiện nhiều lần bị bỏ qua
Thí dụ 2 – UNIQUE với 2 hoặc nhiều cột
Hàm UNIQUE không giới hạn số lượng cột.
Lấy danh sách duy nhất từ 2 hoặc nhiều cột
Tham số thứ nhất bao nhiêu cột thì kết quả trả về bấy nhiêu cột.
Công thức gõ vào ô F2 là:
F2 =UNIQUE(A2:B13)
Kết quả trả về là 2 cột

Nối 2 cột
Dùng công thức nối chuỗi nối hẳn 2 mảng vơi nhau, không cần ctrl Shift enter
Công thức:
H2 =UNIQUE(A2:A13&” “&B2:B13)

Nhiều cột không đúng thứ tự cột
Đôi khi chúng ta cần lấy các cột cách xa nhau, hoặc thay đổi thứ tự cột kết quả. Trường hợp này ta dùng hàm CHOOSE để lấy và sắp xếp
- Trường hợp lấy 2 cột A và B nối với nhau (họ tên), và cột E (võ công), công thức G2 là

- Trường hợp giống như trên nhưng đổi cột võ công ra trước họ tên thì công thức là đổi 2 lên trước 1 trong hàm CHOOSE
G2 =UNIQUE(CHOOSE({2,1},A2:A13&” “&B2:B13,E2:E13))
Hoặc đổi E lên trước
G2 =UNIQUE(CHOOSE({1,2},E2:E13,A2:A13&” “&B2:B13))

Thí dụ 3 – Dùng UNIQUE cho tham chiếu ngang nhiều cột
Mặc định hàm Unique trả về mảng giá trị theo dòng, nhưng tham số thứ 2 cho phép trả về mảng giá trị theo cột
Sử dụng tham số thứ 2 LÀ TRUE hoặc 1
Công thức tại ô B9 là
B9 =UNIQUE(B1:I1,1)
Kết quả sẽ dàn hàng ngang nhiều cột

Dùng TRANSPOSE chuyển dòng thành cột
Công thức ô K2 như sau, và không cần Ctrl Shift Enter
K2 =TRANSPOSE(UNIQUE(B1:I1,1))

Thí dụ 4 – kết hợp UNIQUE và SORT tạo validation list
Công thức tại G2 là
G2 =SORT(UNIQUE(A2:A13&” “&B2:B13))

Để dùng kết quả trên làm dữ liệu nguồn cho ô I2, đứng tại I2 mở hộp thoại Data validation
Trên hộp thoại chọn List, và Source ghi =$G$2#

Với ký tự #, Excel 365 hiểu là lấy mảng kết quả bắt đầu từ G2 chứ không phải chỉ 1 giá trị chứa trong ô G2
Kết quả validation tại ô I1 như sau

(Còn tiếp)
Lần chỉnh sửa cuối: