Công thức chuyển 1 cột thành nhiều cột trong Excel

5/5 - (1 bình chọn)

Nếu bạn đang muốn biết cách làm thế nào để chuyển một cột thành nhiều cột thì bài viết dưới đây với ví dụ vô cùng cụ thể sẽ giúp bạn tìm ra câu trả lời đấy. Cùn khám phá công thức chuyển 1 cột thành nhiều cột trong Excel nhé! Ví dụ bạn đang có một cột gồm 15 hàng và bạn cần chuyển thành 5 cột, mỗi cột sẽ có 3 hàng. Hay nói dễ hiểu hơn là bạn sẽ cần tạo ra một bảng 5×3

CHUYỂN MỘT CỘT THÀNH NHIỀU CỘT VỚI OFFSET

CÔNG THỨC

Cách đầu tiên bạn sẽ dùng OFFSET với các bước như sau:

Bước 1: Tại ô C1, bạn tiến hành điền công thức: =OFFSET($A$1,COLUMNS($A1:A1)-1+(ROWS(A$1:A1)-1)*5,0)

Bước 2: Sử dụng thao tác fill để thực hiện kéo thả thành mảng 5×3.

GIẢI THÍCH

Ở ví dụ này, bạn không tạo ra một mảng 5×3 mà thay vào đó là thực hiện lập một công thức mà khi fill xuống sẽ có thể tự tham chiếu tới 1 ô trong cột mà bạn có thể kiểm soát được khoảng cách giữa các ô với nhau.

Ví dụ như, trong mảng 5×3 này, khi thực hiện fill xuống thì khoảng cách là 5 đơn vị. Trong khi đó nếu là mảng 3×5 thì sẽ là 3 đơn vị. Các bạn có thể kiểm tra bằng việc chú ý đoạn *5, sau đó thử sửa thành *3 xem sao nhé!

Hàm OFFSET trong trường hợp này sẽ hoạt động như sau:

Bước 1: Tiến hành chọn ô đầu tiên của cột (A1).

Bước 2: Tại dòng tham chiếu (rows), hãy xác định ô để tham chiếu đầu tiên. Lúc này, toàn bộ vùng rows sẽ được thể hiện bằng công thức sau: =COLUMNS($A1:A1)-1+(ROWS(A$1:A1)-1)*số cột. Logic ở đây sẽ là:

Khi đi trong 1 hàng từ trái sang phải, tăng 1 đơn vị. Khi đi trong 1 cột từ trên xuống dưới, tăng theo khoảng cách đơn vị.

Bước 3: Nếu như bạn vẫn chưa rõ về hàm OFFSET, hãy đọc thêm về hàm OFFSET trong trang web. Hàm OFFSET (giá trị dùng để tham chiếu, lệch mấy hàng, lệch mấy cột) được sử dụng trong trường hợp này, bởi vì ta tra cứu trong cùng cột, giá trị cột để 0.

Đối với giá trị hàng: Để đi từ trái sang phải chỉ tăng 1 đơn vị, bạn tiến hành thiết lập công thức dùng hàm COLUMNS – hàm trả về số cột của một vùng dữ liệu. Tại ô đầu tiên, lấy chính ô đấy, bạn bắt đầu với COLUMNS($A1:A1)=0, nhưng bởi COLUMNS sẽ trả về 1 nên bạn cần thêm vào -1. Một cách cơ bản để bạn hiểu như sau: Đối với giá trị cột: Sau khi thực hiện thiết lập đi từ trái sang phải chỉ tăng một đơn vị, bạn sẽ tiếp tục thiết lập đi theo cột. Nói cách khác là mỗi lần xuống dòng, bạn sẽ nhân khoảng cách lên một số lần tương ứng. Vậy công thức bạn cần thiết lập sẽ tuân theo nguyên tắc sau: đi từ trên xuống tăng 1 đơn vị, sau đó nhân với số lần. Hay nói cách khác, công thức ở đây sẽ là: =ROWS(A$1:A1)-1)*số lần. Cuối cùng, bạn thực hiện cộng hai giá trị COLUMNS và ROWS lại với nhau. Kết quả sẽ thể hiện như trên đầu bài.

GIỚI HẠN CỘT

Tuy nhiên, khi bạn thực hiện kéo cột quá tay theo hàng, lúc này có thể thấy rằng các giá trị sẽ vẫn tiếp tục hiện ra tăng tiến 1 đơn vị Theo đúng như mục đích bạn cần là tách từ một cột thành nhiều cột, để giới hạn cột (Ví dụ bảng 3×5) bạn có thể làm theo các bước sau: Bước 1: Chèn giới hạn bảng: Bước 2: Thực hiện so sánh số cột của vùng tạo ra với số cột đã được giới hạn bằng công thức:

COLUMNS(vùng) > VALUE(LEFT(Giá trị loại bảng,1)).

Tùy vào cách nhập loại bảng mà bạn có thể so sánh bằng các công thức khác nhau. Ở đây chúng tôi sử dụng hàm Left để lấy ra giá trị 5 từ 5×3.

Bước 3: Biện luận theo điều kiện bằng hàm: Nếu như COLUMNS(vùng)> VALUE(LEFT(giá trị loại bảng,1)) thì trả về giá trị rỗng “”, còn nếu không sẽ tiến hành OFFSET bình thường. Công thức cụ thể trong trường hợp này sẽ là: =IF(COLUMNS($C$1:C1)>VALUE(LEFT($K$1,1)),””,(OFFSET($A$1,COLUMNS($A1:A1)-1+(ROWS(A$1:A1)-1)*5,0))) Vậy là bạn đã hoàn thành xong việc tách một cột thành nhiều cột trong đó sự nhảy đơn vị diễn ra ở các hàng rồi đấy! Tiếp đến, hãy cùng tìm hiểu về cách chuyển đổi với sự nhảy đơn vị tại đầu mỗi cột. Cụ thể trong ví dụ dưới. Lần này, chúng tôi sẽ dùng ví dụ được ứng dụng nhiều hơn trong thực tế: Trình bày lại một bảng dữ liệu copy về từ trên mạng. Yêu cầu đặt ra là làm thế nào để nhét dữ liệu từ cột B vào trong bảng đây?

CHUYỂN MỘT CỘT THÀNH NHIỀU CỘT BẰNG CÔNG THỨC OFFSET TRONG BÀI HỌC TRƯỚC

Đối với dữ liệu lần này, bạn sẽ thay vì đi từ trái sang phải tăng 1 đơn vị, đi từ trên xuống nhảy đơn vị thì hãy làm ngược lại: đi từ trái sang phải nhảy đơn vị, đi từ trên xuống tăng 1 đơn vị. Ta sử dụng công thức đơn giản hơn rất nhiều như sau:

=OFFSET($A$1,COLUMNS($A1:A1)-1+(ROWS(A$1:A1)-1)*5,0) Để đảo lại, bạn không đổi vị trí ROWS và COLUMNS, mà thay vào đó là thực hiện thay đổi chỉ số hệ số, tiếp tục chuyển *5 sang COLUMNSKhi đó, công thức mới sẽ thành: =OFFSET($A$1,(COLUMNS($A1:A1)-1)*5+(ROWS(A$1:A1)-1),0)

Áp dụng vào bài này, thay đổi tọa độ, thay đổi hệ số, bạn sẽ có kết quả như sau:

CHUYỂN MỘT CỘT THÀNH NHIỀU CỘT BẰNG CÔNG THỨC INDEX

Ngoài cách làm với OFFSET, chúng tôi xin giới thiệu đến các bạn ứng dụng của hàm INDEX trong trường hợp này như sau: Để tiến hành chuyển một cột thành nhiều cột mà sự nhảy đơn vị diễn ra theo hàng ngang, tại ô C1 bạn có thể dùng INDEX kết hợp ROWS và COLUMNS như công thức sau:

=INDEX($A$1:$A$15,ROW(C1)+(5*(COLUMNS($C$1:C$1)-1)))

Với 5 là số dòng. Vậy là bạn đã có thể thực hiện đơn giản việc chuyển 1 cột thành nhiều cột trong Excel rồi đấy, chúc các bạn may mắn nhé!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *