小夥伴們好啊,今天給大家帶來的是一個用函式實作行列轉換的技巧。
如下圖所示,是一份員工名單:
這個表中的姓名只有一列,卻有40多行。 打印之前,需要將A列姓名轉換為適合打印的5列多行。
接下來咱們就說說用函式公式如何來實作這樣的效果。
D2單元格輸入以下公式,向右向下復制:
=INDIRECT("a"&5*ROW(A1)-4+COLUMN(A1))&""
思路解析:
「 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或者是最新版的WPS表格中,公式就簡單多了:
C2輸入以下公式,按回車即可:
=INDEX(A:A,SEQUENCE(500,5,2))&""
SEQUENCE專門用於生成序列值陣列。 常用語法為:
=SEQUENCE(行數,[列數],[初始值],[步長])
先使用 SEQUENCE函式生成一個500行、5列,並且從2開始的序號,然後用INDEX函式從A列返回對應位置的內容。
你學會了嗎?
圖文制作:祝洪忠