Excel中如何實現將列分組轉置為行?


 

如上圖所示,A列為產品的相關信息,從A1單元格起每5個單元格的數據為一組。要求將A列單列數據轉換為右邊的單元格區域的形式。每款產品信息占1行5列。應該如何操作呢?

很多人的第一反應就是Excel的轉置功能或者利用轉置函數transpose,但轉置功能或者轉置函數都只能針對上面的一組一組來進行轉置,效率非常低下。有什么方法能快捷能實現將列分組轉置成行呢?

下面給大家介紹兩種方法。

第一種方法:利用word里的“將文字轉換為表格”的功能

單擊A列數據里任意一單元格,按Ctrl+A全選A列的數據,然后Ctrl+C復制;來到word里,Ctrl+V粘貼為“只保留文本”。

 

在word里同樣按Ctrl+A全選上一步獲得的文本內容,點擊【插入】-【表格】-【文本轉換成表格】

 

重點來了!!

在彈出的“將文字轉換成表格”的對話框里,我們將表格尺寸的“列數”設置為5(因為產品的相關信息列里,是每5個單元格的數據為一組的)。下面的設置默認即可,當然,你也可以調整,比如列寬的設置,我這里勾選為“根據內容調整表格”,這樣可以使得轉換后的表格更美觀。

 

最后,word里面,將會根據我們前邊的設置,將原來一列的文本內容,生成了一個N行5列的表格。

 

我們把表格復制到Excel里即可。

總結:這是一個Excel+Word協作案例。“轉置”類的復雜問題可以考慮Word表格與Excel的表格的連通性來進行解決,Word中“將文字轉換成表格”這個功能,大家要熟練掌握哦。

第二種方法:行列函數和引用函數的結合

我們首先來認識一下行、列函數。

ROW函數,是行號函數。它的功能是返回所引用的行號。如ROW(A1),返回的是A1單元格所在的行號,即,第一行,所以,返回數值1。ROW(A2),返回2;ROW(A3),返回3;以此類推。

同理地,COLUMN函數是返回引用的列號。如COLUMN(A1),返回的是A1單元格所在的列號,即,第一列,所以,返回數值1。COLUMN(B1)返回2;COLUMN(C1)返回3;以此類推。

所以,ROW函數可以生成垂直方向連續遞增的自然序列;COLUMN函數可以生成水平方向上連續遞增的自然數序列。

它倆組合就可以生成指定規則的序列,結合引用函數INDEX,就可以實現將單列轉換為多行多列的效果。

回到案例中。

在C1單元格里,我們輸入以下公式,復制到C1:G6的單元格區域

=INDEX($A:$A,5*ROW(A1)-5+COLUMN(A1))

 

 

公式怎么理解呢?

“5*ROW(A1)-5+COLUMN(A1)”計算的結果為1。當公式向下復制時,ROW(A1)會依次變成

ROW(A2)、ROW(A3)…計算結果就分別為6,11,16…即生成步長為5的等差序列。

當公式向右復制時,COLUMN(A1)會依次變成COLUMN(B1)、COLUMN(C1)…計算結果分別為2,3,4…即步長為1的等差序列。

“5*ROW(A1)-5+COLUMN(A1)”公式部分,就會生成如下圖所示的單元格區域結果。

 

然后,在最外層,我們再來嵌套一個INDEX函數,來提取A列中相應單元格里的內容,就達到了將單列數據轉換為多行多列的目的。

為了方便大家學習,我把相關的課程和練習整理下方,有需要的自取即可。

Excel零基礎免費入門課 - 網易雲課堂

❤Excel常用函數實戰精講 - 網易雲課堂


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM