

先前的文章 我們有介紹過如何將一維資料轉換為二維、二維資料轉換成一維,當時使用的是 OFFSET、ROW、COLUMN 的搭配使用,需要使用向右、向下位移的方式,來完成維度的轉換。
今天要跟大家介紹 Microsoft-365 全新的函數來完成維度轉換:
- 一維轉二維:WRAPROWS、WRAPCOLS
- 二維轉一維:TOROW、TOCOL
Excel 範例檔案下載:Excel-WRAPROWS-WRAPCOLS-TOROW-TOCOL.xlsx
Microsoft-365提供多種全新用方便的函數,解決許多複雜的公式。
👇 👇 👇 如果你還在猶豫要不要訂閱365的朋友,不要再猶豫了👇 👇 👇
👆 👆 👆 早訂閱早享受,晚訂閱沒優惠 👆 👆 👆
一維資料 > 二維資料
WRAPROWS 是由兩個英文單字組成 WRAP、ROWS。WRAP 在英文裡有包、裹的意思(英文的捲餅也會使用這個單字喔)。
ROWS 可以直接看成很多列(ROW)。綜合這個概念,就是把資料包成很多列的意思,因此它的排序會長這樣:

同理,WRAPCOLS 是 WRAP、COLS,就是把資料包成很多欄:

簡單認識這兩個英文的意思後,接著要開始介紹如何使用。
WRAPROWS
=WRAPROWS(a,b,[c])
a:資料來源,一維向量(Vector)
b:每一列(ROW)的數量
c:要填塞的值。 預設值為 #N/A。

=WRAPROWS(資料來源,一列幾個)
=WRAPROWS(A1:A25,5)

第一個參數,資料來源,選取一維的資料「A1:A25」。
第二個參數,轉成二維資料時,一列要有幾個,這邊使用 「5」。可以於上方表格中看到,只要是 5 的倍數(5,10,15,20)就會換行。
=WRAPROWS(資料來源,一列幾個)
=WRAPROWS(A1:A25,4)

第一個參數,資料來源,選取一維的資料「A1:A25」。
第二個參數,轉成二維資料時,一列要有幾個,這邊使用 4,可以看到 4 之後就會換行。
依照參數二的邏輯,每 4 個一行,填到最後一行時,會沒辦法填滿一整行,這裡會自動填入「#N/A」
=WRAPROWS(資料來源,一列幾個,填塞值)
=WRAPROWS(A1:A25,5,"空值")

第一個參數,資料來源,選取一維的資料「A1:A25」。
第二個參數,轉成二維資料時,一列要有幾個,這邊使用 4。
第三個參數,資料維空的填塞值,若沒辦法填滿一行時,填入的值,這裡我用文字的空值,「”空值”」。
如果第三個參數不填任何值,會顯示「#N/A」,當然也可以填入空值(empty)「””」,這樣多的儲存格(Cell)就會空著甚麼都沒有。

WRAPCOLS
WRAPCOLS 和 WRAPROWS 邏輯是一樣的,差別是方向從水平的列(ROW)變成垂直的欄(COL),下面會直接簡單帶過。
=WRAPCOLS(a,b,[c])
a:資料來源,一維向量(Vector)
b:每一欄(COL)的數量
c:要填塞的值。 預設值為 #N/A。

=WRAPCOLS(資料來源,一欄幾個)
=WRAPCOLS(A1:A25,5)

=WRAPCOLS(資料來源,一欄幾個)
=WRAPCOLS(A1:A25,4)

=WRAPCOLS(資料來源,一欄幾個,填塞值)
=WRAPCOLS(A1:A25,"空值")

二維資料 > 一維資料
TOROW
=TOROW(a,[b],[c])
a:資料來源,二維陣列(Array)
b:忽略,是否要忽略特定類型的值。(預設為 0)
c:順序依照欄(COL)。 預設值為 FALSE。
- 0:保留所有值
- 1:略過空白
- 2:略過錯誤
- 3:略過空白和錯誤


=TOROW(資料來源)
=TOROW(A1:E3)

第一個參數,資料來源,選取二維的資料「A1:E3」。
這裡我故意將〔D2〕這個儲存格移除,可以看到通過 TOROW 轉換出來的資料並沒有 9,而被補上了 0
=TOROW(資料來源,忽略型態)
=TOROW(A1:E3,3)
第一個參數,資料來源,選取二維的資料「A1:E3」。
第二個參數,忽略型態,這裡使用「3:略過空白和錯誤」。
- 0:保留所有值
- 1:略過空白
- 2:略過錯誤
- 3:略過空白和錯誤
因為有使用第二個參數,錯誤和空白都被忽略,轉換後的數列會直接跳過空值,因此 8 的下一個數是 10。
=TOROW(資料來源,忽略型態,順序是否依照欄)
=TOROW(A1:E3,3,TRUE)

一個參數,資料來源,選取二維的資料「A1:E3」。
第二個參數,忽略型態,這裡使用「3:略過空白和錯誤」。
第三個參數,依照欄排序,這裡使用「TRUE」
沒有第三個參數時,資料會依照列去排序:A1 > B1 > C1 ,使用後就會如下圖的順序去轉換。

如果二維資料的樣式如下圖,就可以使用第三個參數「TRUE」,達到我們所要的順序。

TOCOL
TOCOL 和 TOROW 邏輯是一模一樣的,差別是方向從水平的列(ROW)變成垂直的欄(COL)。
=TOCOL(a,[b],[c])
a:資料來源,二維陣列(Array)
b:忽略,是否要忽略特定類型的值。(預設為 0)
c:順序依照欄(COL)。 預設值為 FALSE。
- 0:保留所有值
- 1:略過空白
- 2:略過錯誤
- 3:略過空白和錯誤

Excel 範例檔案下載:Excel-WRAPROWS-WRAPCOLS-TOROW-TOCOL.xlsx
更多 Excel 文章請至 文章導覽 尋找,也可利用上方「搜尋(Search...)」功能
有任何莫非工具的問題,歡迎至「表單」提問
Excel 是不是很容易
和墨菲一起用 Excel 把工作變簡單
Pingback: 莫非工具 | 文章導覽 - 墨菲莫非
Pingback: 【Excel Function】維度轉換:OFFSET位移、ROW/ROWS行列、COLUMN/COLUMNS欄 - 墨菲莫非