HI,大家好哈。
前幾天我們有聊了如何將多行多列轉一列的話題,「Excel技巧」三種方法幫助你快速將多行內容轉成一列內容今天就順勢來聊聊如何將一列轉多行多列。
因為,一份表格,如果裡面只有一列,不過有一百多行,甚至幾百行,
這樣子排版,
一方面,不夠一目了然,看的時候,還得按住滑鼠不停地往下拉;
另一方面,如果萬一要列印出來的話,估計得被老闆一掌拍扁,因為那得用好幾張紙。
因此,我們得尋思著,把它轉換為更適合查閱,以及更適合列印的排版方式,即多行多列排版。
當然,如果你不嫌麻煩的話,可以手動複製粘貼囉。
但是,花費的時間估計有點長,不是所有人都有那個耐心哦。
今天,就讓我告訴你,如何利用indirect函數快速將一列轉為多行多列排版。
舉例說明:
如下圖所示,是一份各行業名稱表格:
表格裡內容,除了標題行外,內容是1列60行。
現我們準備把它轉為6列。
具體方法:
首先,要寫公式前,我們得先找下規律。
1列60行,最後要轉成6列,轉換後的表格我們先用單元格地址表示出來,如下:
可以看到,這是一個橫向是差為1的等差序列,縱向是差為6的等差數列。
規律有了,知道要用的函數了,就可以開始寫公式了。
在C2單元格裡輸入公式:
=INDIRECT("A"&6*ROW(A1)-5+COLUMN(A1))&""
然後公式往右拉填充,再整體往下拉填充,直到出現空白為止。
公式解析:
公式裡的:6*ROW(A1)-5+COLUMN(A1),
這部分用來計算得出來引用單元格的行值。
ROW(A1):即返回A1的行號1;
COLUMN(A1):即返回A1的列值1。
因此,6*ROW(A1)-5+COLUMN(A1)即是6*1-5+1=2。
當公式從左往右填充,
同一行返回的行號不變,但列值會發生改變,公式裡的COLUMN(A1),從左往右依次為COLUMN(A1)、COLUMN(B1)、COLUMN(C1) ……,得到的值分別為:1、2、3……。
當公式從上往下填充,
同一列返回的列值不變,但行號會發生改變,公式裡的ROW(A1),從上往下依次為ROW(A1)、ROW(A2)、ROW(A3)……,得到的值分別為1、2、3……
大家可以看到,如果在單元格裡寫公式:=6*ROW(A1)-5+COLUMN(A1),公式按6列去填充,可以看到表格裡公式計算得出來的值,如下:
2、用連接符「&」將公式6*ROW(A1)-5+COLUMN(A1)計算得出來的值與字符「A」連接,得到單元格地址。
到這裡就很明顯了,
如果在單元格裡填充公式:="A"&6*ROW(A1)-5+COLUMN(A1),按6列填充,得到如下:
3、得到單元格地址後,再用indirect函數返回文本字符串所指定的引用,得到對應單元格的內容,即公式為:
=INDIRECT("A"&6*ROW(A1)-5+COLUMN(A1))。
補充說明:
indirect函數
含義:返回文本字符串所指定的引用;
語法格式:=INDIRECT(引用區域,引用格式)
引用格式可以為TRUE 或省略。
4、這時候,你肯定會好奇,在公式的最後為什麼加上【&""】?這是為了讓數據不足時,公式返回出現的0值轉成空值顯示。
所以,一列轉6列,最後的公式就是:
=INDIRECT("A"&6*ROW(A1)-5+COLUMN(A1))&""
如果我想要調整為一列轉7列,那公式就是:
=INDIRECT("A"&7*ROW(A1)-6+COLUMN(A1))&""
公式依此類堆下去。
上面說了辣麼多內容,即使不理解公式的意思,但看到這個公式,大家應該也懂怎麼套用公式了哈。
當然,套用公式只是權宜之計,我們還是得儘可能去理解公式其中的精髓,以後才能對公式運用自如。