Sử dụng hàm TOROW để chuyển vùng, mảng thành 1 dòng duy nhất

Ngày tạo 17/05/2023

 -  311 Lượt xem

Sử dụng hàm TOROW để chuyển vùng, mảng thành 1 dòng duy nhất

 

1. Hàm TOROW trong Excel 365

Hàm TOROW trong Excel được sử dụng để chuyển đổi một mảng hoặc phạm vi ô thành một hàng.

Hàm có tổng cộng ba đối số, trong đó chỉ có đối số đầu tiên là bắt buộc.

=TOROW(array, [ignore], [scan_by_column])

array (bắt buộc) - một mảng hoặc phạm vi để chuyển đổi thành một hàng.

ignore (tùy chọn) - xác định có nên bỏ qua khoảng trống hoặc/và lỗi hay không. Có thể lấy một trong các giá trị sau:

- 0 hoặc bỏ qua (mặc định) - giữ tất cả các giá trị

- 1 - bỏ qua khoảng trống

- 2 - bỏ qua lỗi

- 3 - bỏ qua khoảng trống và lỗi

Scan_by_column (tùy chọn) - xác định cách quét mảng:

- FALSE hoặc bị bỏ qua (mặc định) - quét mảng theo chiều ngang theo hàng.

- TRUE - quét mảng theo chiều dọc theo cột.

Dưới đây là 1 ví dụ đơn giản sử dụng hàm TOROW trong Excel.

Lưu ý:

- Để chuyển đổi một mảng thành một cột, hãy sử dụng hàm TOCOL.

- Để tạo trước quá trình chuyển đổi hàng thành mảng ngược lại, hãy sử dụng hàm WRAPCOLS để ngắt dòng thành cột hoặc hàm WRAPROWS để ngắt dòng thành hàng.

- Để chuyển mảng từ ngang sang dọc hoặc ngược lại, tức là chuyển cột thành hàng, hãy sử dụng hàm TRANSPOSE.

2. Tính khả dụng của hàm TOROW trong Excel

TOROW là 1 hàm mới trong Excel. Hiện hàm TOROW mới được cập nhật trên phiên bản Excel 365 Personal (Tại thời điểm mình viết bài này là chưa Update trên phiên bản Business và Enterprise) và Excel 365 trên Web.

3. Cách sử dụng đơn giản của hàm TOROW trong Excel

Để thực hiện chuyển đổi vùng dữ liệu thành hàng đơn giản, hãy sử dụng công thức TOROW ở dạng cơ bản. Đối với điều này, bạn chỉ cần xác định đối số đầu tiên (array).

Chẳng hạn, để biến một mảng hai chiều gồm 3 cột và 3 hàng thành một hàng, công thức là:

Vì hàm TOROW là 1 hàm Dynamic Array nên bạn sẽ chỉ cần nhập công thức vào một ô (trong trường hợp của chúng tôi là A8) và nó sẽ tự động tràn vào bao nhiêu ô cần thiết để chứa tất cả các kết quả. Theo thuật ngữ Excel, phạm vi đầu ra được bao quanh bởi một đường viền mỏng màu xanh lam được gọi là phạm vi tràn (Spill Range)

Cách thức hoạt động của công thức này:

 

Đầu tiên, một dải ô được cung cấp sẽ được chuyển đổi thành một mảng hai chiều. Xin lưu ý các cột được phân cách bằng dấu phẩy và các hàng được phân tách bằng dấu chấm phẩy:

{"Apple","Banana","Cherry";1,2,3;4,5,6;7,8,9}

Sau đó, hàm TOROW đọc mảng từ trái sang phải và chuyển đổi nó thành mảng ngang một chiều:

{"Apple","Banana","Cherry",1,2,3,4,5,6,7,8,9}

Kết quả đi đến ô A8, từ đó nó tràn sang ô lân cận bên phải.

4. Chuyển đổi phạm vi thành hàng bỏ qua khoảng trống và lỗi

Theo mặc định, hàm TOROW giữ tất cả các giá trị từ mảng nguồn, bao gồm các ô trống và lỗi. Ở đầu ra, các giá trị 0 xuất hiện ở vị trí của các ô trống, điều này có thể khá khó hiểu.

Để loại trừ khoảng trống, hãy đặt đối số bỏ qua thành 1:

=TOROW(A3:C5, 1)

Để bỏ qua lỗi, hãy đặt đối số bỏ qua thành 2:

=TOROW(A3:C5, 2)

Để bỏ qua cả khoảng trống và lỗi, hãy sử dụng 3 cho đối số bỏ qua:

=TOROW(A3:C5, 3)

Bạn có thể tham khảo hình ảnh việc sử dụng các công thức ở trên ngay dưới đây.

5. Đọc mảng theo chiều ngang hoặc chiều dọc

Mặc định, hàm TOROW xử lý mảng theo chiều ngang từ trái sang phải. Để quét các giá trị theo cột từ trên xuống dưới, bạn đặt đối số thứ 3 (scan_by_column) thành TRUE hoặc 1.

Ví dụ: để đọc phạm vi nguồn theo hàng, công thức trong E3 là:

=TOROW(A3:C5)

Để quét phạm vi theo cột, công thức trong E8 là:

=TOROW(A3:C5, ,TRUE)

Trong cả hai trường hợp, các mảng kết quả có cùng kích thước, nhưng các giá trị được sắp xếp theo thứ tự khác nhau.

6. Hợp nhất nhiều vùng range thành một hàng duy nhất

Để kết hợp một số phạm vi không liền kề thành một hàng, trước tiên bạn xếp chúng theo chiều ngang hoặc chiều dọc thành một mảng với sự trợ giúp của HSTACK hoặc VSTACK, tương ứng, sau đó sử dụng hàm TOROW để chuyển đổi mảng đã kết hợp thành một hàng.

6.1. Xếp mảng theo chiều ngang và chuyển đổi theo hàng

Với phạm vi đầu tiên trong A3:C4 và phạm vi thứ hai trong A8:C9, công thức dưới đây sẽ xếp hai phạm vi theo chiều ngang thành một mảng duy nhất, sau đó chuyển đổi nó thành một hàng đọc các giá trị từ trái sang phải. Kết quả là ở E3 trong hình bên dưới.

=TOROW(HSTACK(A3:C4, A8:C9))

6.2. Xếp mảng theo chiều dọc và chuyển đổi theo hàng

Để nối từng mảng tiếp theo vào cuối mảng trước đó và đọc mảng kết hợp theo chiều ngang, công thức trong E12 là:

=TOROW(VSTACK(A3:C4, A8:C9))

6.3. Xếp mảng theo chiều dọc và chuyển đổi theo cột

Để nối từng mảng tiếp theo vào cuối mảng trước đó và đọc mảng kết hợp theo chiều ngang, công thức trong E12 là:

=TOROW(VSTACK(A3:C4, A8:C9))

6.4. Xếp mảng theo chiều dọc và chuyển đổi theo cột

Để thêm từng mảng tiếp theo vào cuối mảng trước đó và quét mảng đã kết hợp theo chiều dọc, công thức là:

=TOROW(VSTACK(A3:C4, A8:C9), ,TRUE)

Để hiểu rõ hơn về logic, hãy quan sát thứ tự khác nhau của các giá trị trong các mảng kết quả:

7. Trích xuất các giá trị duy nhất từ ​​một vùng thành một hàng duy nhất

Trong Excel 365 của chúng ta có hàm UNIQUE để loại bỏ các giá trị trùng lặp trong 1 cột hoặc 1 dòng nào đó. Tuy nhiên hàm UNIQUE có yếu điểm đó là chỉ có thể loại bỏ các giá trị trùng lặp trong 1 dòng hoặc 1 cột mà thôi. Để khắc phục hạn chế này, hãy sử dụng các hàm UNIQUE và TOROW cùng nhau.

Chẳng hạn, để trích xuất tất cả các giá trị khác nhau (UNIQUE) từ phạm vi A2:C7 và đặt kết quả vào một hàng, công thức là:

=UNIQUE(TOROW(A2:C7), TRUE)

Vì TOROW trả về mảng ngang một chiều, chúng tôi đặt đối số thứ 2 (by_col) của UNIQUE thành TRUE để so sánh các cột với nhau.

Trong trường hợp bạn muốn sắp xếp kết quả theo thứ tự bảng chữ cái, hãy bọc công thức trên trong hàm SORT:

=SORT(UNIQUE(TOROW(A2:C7), TRUE), , ,TRUE )

Như với UNIQUE, đối số by_col của SORT cũng được đặt thành TRUE.

8. Hàm TOCOL bị lỗi trong Excel trong các trường hợp nào?

Nếu hàm TOCOL bị lỗi, rất có thể đó là một trong những lý do sau:

8.1. Hàm TOCOL không được hỗ trợ trong Excel của bạn.

Khi bạn thấy lỗi #NAME? thì việc đầu tiên bạn cần làm đó là phải kiểm tra xem bạn đã gõ tên hàm đúng hay chưa. Nếu tên hàm bạn đã gõ chính xác nhưng lỗi vẫn tiếp diễn thì điều đó có nghĩa là trong Excel của bạn không có sẵn hàm TOROW.

Vì hiện tại hàm TOROW chỉ có sẵn trên Office 365 (Phiên bản Personal - Ở thời điểm của bài viết thì hàm TOROW chưa được Update trên phiên bản dành cho Business và Enterprise) và phiên bản Office trên Web.

8.2. Mảng của bạn quá lớn

Lỗi #NUM cho biết mảng không thể vừa với một cột. Một trường hợp điển hình là khi bạn tham chiếu đến toàn bộ cột hoặc hàng.

Bạn nên nhớ là trong Excel thì số dòng và số cột là có hạn chế.

Điều đó có nghĩa là nếu mảng kết quả trả về vượt qua giới hạn này thì sẽ bị lỗi.

Giới hạn của Excel:

Số dòng: 1.048.576 dòng

Số cột: 16.384 cột

8.3. Không có đủ ô trống

Khi lỗi #SPILL xảy ra, hãy kiểm tra xem cột nơi công thức được nhập có đủ ô trống để điền kết quả hay không. Nếu các ô trống về mặt trực quan, hãy đảm bảo không có khoảng trắng và các ký tự không in được khác trong đó.

 

Các bạn có thể download File đính kèm bằng cách click vào hình dưới đây.

Hoàng Trung - ERX Business and Development Manager

 
 
Gọi (028) 3514 2046