close
小夥伴們好啊,今天給大家帶來的是一個用函數實現行列轉換的技巧。
如下圖所示,是一份員工名單:
這個表中的姓名只有一列,卻有40多行。打印之前,需要將A列姓名轉換為適合打印的5列多行。
接下來咱們就說說用函數公式如何來實現這樣的效果。
D2單元格輸入以下公式,向右向下複製:
思路解析:
「5*ROW(A1) -4+COLUMN(A1)」部分,用於得到有規律的序列值,起始計算結果為2。
公式向下複製填充時ROW(A1)依次變為ROW(A2)、ROW(A3)……,計算結果分別為7、12……,即生成步長值為5的自然數序列。
公式向右複製填充時COLUMN(A1)依次變為COLUMN(B1)、COLUMN(C1)……,計算結果分別為3、4……即生成步長值為1的自然數序列。
這部分的計算結果與字符"a"連接成一個單元格地址「An」,最後用INDIRECT函數返回文本字符串所指定的引用,得到相應單元格的內容。
公式最後使用&"",目的是為了屏蔽在引用空白單元格時返回的無意義的0值。
使用Excel 2021或者是Office 365的同學,公式就簡單多了:
C2輸入以下公式,按回車即可:
=INDEX(A:A,SEQUENCE(500,5,2))&""
SEQUENCE是Office 365中特有的函數,專門用於生成序列值數組。常用語法為:
=SEQUENCE(行數,[列數],[初始值],[步長])
先使用SEQUENCE函數生成一個500行、5列,並且從2開始的序號,然後用INDEX函數從A列返回對應位置的內容。
你學會了嗎?
圖文製作:周慶麟
全站熱搜