搜尋
首頁專題excel將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

將值或行轉換為二維數組的最快方法是使用Wrapcols或Wraprows函數。

自Excel的最早時代以來,它一直非常擅長計算和分析數字。但是傳統上,操縱陣列是一個挑戰。動態陣列的引入使陣列公式的使用變得更加容易。現在,微軟正在發布一組新的動態陣列功能來操縱和重新形狀數組。本教程將教您如何使用兩個這樣的功能,包裹和包裹物,以立即將列或行轉換為2D數組。

將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

Excel Wrapcols功能

Excel中的Wrapcols函數根據每個行的指定數量值將值或列轉換為二維數組。

語法具有以下論點:

wrapcols(vector,wrap_count,[pad_with])

在哪裡:

  • 向量(必需) - 源一維數組或範圍。
  • wrap_count (必需) - 每列的最大值數。
  • PAD_WITH (可選) - 如果沒有足夠的項目填寫,則使用最後一列的值。如果省略,則缺失值將用#N/A(默認值)填充。

例如,要將b5:b24範圍更改為具有每列5個值的二維陣列,該公式為:

=WRAPROWS(B5:B24, 5)

您在任何單個單元中輸入該公式,並根據需要自動溢出到盡可能多的單元中。在Wrapcols輸出中,根據WRAP_COUNT值垂直從上到下排列該值。達到計數後,開始了一個新的列。

將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

Excel Wraprows功能

Excel中的Wraprows函數根據您指定的每個行的值數量,將值或列轉換為二維數組。

語法如下:

wraprows(vector,wrap_count,[pad_with])

在哪裡:

  • 向量(必需) - 源一維數組或範圍。
  • wrap_count (必需) - 每行的最大值數。
  • PAD_WITH (可選) - 如果沒有足夠的項目來填充它,則與最後一行的值。默認值為#n/a。

例如,要將B5:B24範圍轉換為具有5個值的2D數組,公式為:

=WRAPROWS(B5:B24, 5)

您可以在溢出範圍的左上方單元格中進入公式,並自動填充所有其他單元。 Wraprows函數根據WRAP_COUNT值從左到右水平排列值。達到計數後,它開始了一個新的行。

將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

包裹和包裹物的可用性

這兩個功能僅在Microsoft 365(Windows和Mac)的Excel中可用,並且可用於Web。

在較早的版本中,您可以使用傳統的更複雜的公式執行列到陣列和陣列轉換。在本教程中,我們將詳細討論替代解決方案。

提示。要執行反向操作,IE將2D數組更改為單列或行,分別使用Tocol或Torow函數。

如何將列 /行轉換為Excel中的範圍 - 示例

現在,您已經掌握了基本用法,讓我們仔細研究一些更具體的情況。

設置每列或行的最大值數量

根據原始數據的結構,您可能會發現將其重新安排到列(Wrapcols)或行(Wraprows)中。無論您使用哪個函數,都是wrap_count參數,它確定每個列/行中的最大值數。

例如,要將範圍B4:B23轉換為2D數組,以使每列最多具有10個值,請使用此公式:

=WRAPCOLS(B4:B23, 10)

要按行重新排列相同的範圍,以使每行的最大值為4個值,公式為:

=WRAPROWS(B4:B23, 4)

下圖顯示了它的外觀:

將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

在結果數組中的墊子缺失值

如果沒有足夠的值無法填充所得範圍的所有列/行,則包裹和Wrapcols將返回#N/A錯誤以保持2D數組的結構。

要更改默認行為,您可以為可選的pad_with參數提供自定義值。

例如,要將範圍B4:B21轉換為具有最大5個值寬的2D數組,如果沒有足夠的數據填充數據,則用破折號填充最後一行,請使用此公式:

=WRAPROWS(B4:B21, 5, "-")

要用零長度字符串(空白)替換缺失值,公式為:

=WRAPROWS(B4:B21, 5, "")

請將結果與省略PAD_WITH的默認行為(公式)進行比較:

將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

將多行合併為2D範圍

要將幾行組合到單個2D數組中,您首先使用HSTACK函數水平堆疊行,然後使用Wraprows或Wrapcols包裝值。

例如,要合併3行(b5:j5,b7:g7和b9:f9)的值,並將其包裹成列,每個列包含10個值,該公式為:

=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)

要將從多行的值組合到每個行包含5個值的2D範圍內,該公式採用此表單:

=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)

將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

將多列組合成2D數組

要將幾列合併到2D範圍內,首先,您使用VSTACK函數垂直堆疊它們,然後將值包裝到行(Wraprows)或列(Wrapcols)中。

例如,將來自3列(B5:J5,B7:G7和B9:F9)的值組合到一個2D範圍中,其中每列包含10個值,該公式為:

=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)

要將相同的列組合到每個行包含5個值的2D範圍內,請使用此公式:

=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)

將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

包裝並排序陣列

在源範圍的情況下,在您希望將輸出分類的情況下以隨機順序為準值時,以此方式進行:

  1. 按照您想要的方式對初始數組進行排序。
  2. 將排序的陣列提供給包裹或包裹。

例如,將B4:B23的範圍包裝到行中,每個值中的4個值,然後對結果進行排序,從A到Z,構造一個公式:

=WRAPROWS(SORT(B4:B23), 4)

要將相同範圍包裹在列中,每個值10個值,然後按字母順序排序輸出,公式為:

=WRAPCOLS(SORT(B4:B23), 10)

結果如下:

將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

提示。要按降序排列在結果數組中的值,請將排序函數的第三個參數( sort_order )設置為-1。

Excel 365- 2010年的Wrapcols替代品

在不支持Wrapcols功能的較舊的Excel版本中,您可以構建自己的公式將一個維數組中的值包裝到列中。這可以通過一起使用5個不同的功能來完成。

Wrapcols替代方案將行轉換為2D範圍:

ifError(if(ROW(A1)> n ,“”,index( row_range ,,row(a1)(列(A1)-1)* n )),“”),“”)

Wrapcols替代方案將列轉換為2D範圍:

ifError(if(row(a1)> n ,“”,index( column_range ,row(a1)(column(a1)-1)* n )),“”),“”)

其中n是每個列的最大值。

在下圖中,我們使用以下公式將單行範圍(D4:J4)轉換為三行陣列。

=IFERROR(IF(ROW(A1)>3, "", INDEX($D$4:$J$4, , ROW(A1) (COLUMN(A1)-1)*3)), "")

而且該公式將單列範圍(B4:B20)更改為五行陣列:

=IFERROR(IF(ROW(A1)>5, "", INDEX($B$4:$B$20, ROW(A1) (COLUMN(A1)-1)*5)), "")

上面的溶液模仿類似的包裹物配方並產生相同的結果:

=WRAPCOLS(D4:J4, 3, "")

=WRAPCOLS(B4:B20, 5, "")

請記住,與動態陣列包裹函數不同,傳統公式遵循單式單元的方法。因此,我們的第一個公式在D8中輸入,並在右側複製3行和3列。第二個公式在D14中輸入,並在右側複製5行和4列。

將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

這些公式如何工作

在兩個公式的核心中,我們使用索引函數,該功能根據行和列號從提供數組中返​​回值:

索引(array,row_num,[column_num])

當我們處理一行數組時,我們可以省略row_num參數,因此默認為1。訣竅是對複制公式的每個單元格自動計算col_num 。這就是我們這樣做的方式:

ROW(A1) (COLUMN(A1)-1)*3)

行函數返回A1參考的行號,即1。

列函數返回A1參考的列號,也為1。減去1將其變成零。並乘以0乘3給出0。

然後,您添加了1行返回的1個,結果為0返回,結果獲得1。

這樣,目的地範圍(D8)左上方單元格中的索引公式經歷了這種轉換:

INDEX($D$4:$J$4, ,ROW(A1) (COLUMN(A1)-1)*3))

更改為

INDEX($D$4:$J$4, ,1)

並從指定數組的第一列返回值,即D4中的“蘋果”。

當將公式複製到細胞D9時,相對細胞參考基於行的相對位置變化,而絕對范圍參考則保持不變:

INDEX($D$4:$J$4,, ROW(A2) (COLUMN(A2)-1)*3))

變成:

INDEX($D$4:$J$4,, 2 (1-1)*3))

變成:

INDEX($D$4:$J$4,, 2))

並從指定數組的第二列返回值,即E4中的“杏”。

IF函數檢查行號,如果它大於您指定的行數(在我們的情況下為3)返回一個空字符串(“”),否則索引函數的結果:

IF(ROW(A1)>3, "", INDEX(…))

最後,IFERROR函數修復了#REF!當將公式複製到更多的單元格時,發生的錯誤。

將列轉換為2D範圍的第二個公式具有相同的邏輯。不同之處在於,您使用行列組合來找出索引的row_num參數。在這種情況下,不需要COL_NUM參數,因為源數組中只有一個列。

包裹替代品的替代品365- 2010年

為了將一維數組中的值包裝到Excel 2019和更早的行中的行中,您可以使用以下替代Wraprows函數的替代方案。

將行轉換為2D範圍:

ifError(if(列(a1)> n ,“”,index( row_range ,column(a1)(row(a1)-1)* n )),“”),“”)

將列更改為2D範圍:

ifError(if(列(a1)> n ,“”,index( column_range ,column(a1)(row(a1)-1)* n )),“”),“”)

其中n是每個行的最大值數。

在我們的示例數據集中,我們使用以下公式將單行範圍(D4:J4)轉換為三柱範圍。公式降落在細胞D8中,然後在3列和3行中復制。

=IFERROR(IF(COLUMN(A1)>3, "", INDEX($D$4:$J$4, , COLUMN(A1) (ROW(A1)-1)*3)), "")

要將1列範圍(B4:B20)重塑為5列範圍,請在D14中輸入以下公式,然後將其拖動5列和4行。

=IFERROR(IF(COLUMN(A1)>5, "", INDEX($B$4:$B$20, COLUMN(A1) (ROW(A1)-1)*5)), "")

在Excel 365中,可以通過等效的包裹公式可以實現相同的結果:

=WRAPROWS(D4:J4, 3, "")

=WRAPROWS(B4:B20, 5, "")

將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

這些公式如何工作

本質上,這些公式像上一個示例一樣工作。區別在於您如何確定索引函數的row_numcol_num坐標:

INDEX($D$4:$J$4,, COLUMN(A1) (ROW(A1)-1)*3))

要在目標範圍(D8)中獲取左上方單元格的列號,請使用此表達式:

COLUMN(A1) (ROW(A1)-1)*3)

這更改為:

1(1-1)*3

並給出1。

結果,以下公式從指定數組的第一列返回值,即“蘋果”:

INDEX($D$4:$J$4,, 1)

到目前為止,結果與上一個示例相同。但是,讓我們看看其他細胞中會發生什麼……

在細胞D9中,相對細胞引用變化如下:

INDEX($D$4:$J$4,, COLUMN(A2) (ROW(A2)-1)*3))

因此,公式轉化為:

INDEX($D$4:$J$4,, 1 (2-1)*3))

變成:

INDEX($D$4:$J$4,, 4))

並從指定數組的第四列返回值,即G4中的“櫻桃”。

IF函數檢查列號,如果它大於您指定的列數,請返回一個空字符串(“”),否則索引函數的結果:

IF(COLUMN(A1)>3, "", INDEX(…))

作為最後的觸摸,iFerror可以防止#REF!如果將公式複製到實際所需的單元格還要多的單元格中,則出現在“額外”單元格中的錯誤。

Wrapcols或Wraprows功能不起作用

如果您的Excel中沒有“包裝”功能或導致錯誤,則最有可能是以下原因之一。

#姓名?錯誤

在Excel 365中,#Name?可能會發生錯誤,因為您拼寫了函數的名稱。在其他版本中,這表明不支持功能。作為解決方法,您可以使用Wrapcols替代方案或Wraprows替代方案。

#價值!錯誤

如果向量參數不是一維數組,則會發生#Value誤差。

#num!錯誤

如果WRAP_COUNT值為0或負數,則會發生#NUM錯誤。

#灑!錯誤

最常見的是,#spill誤差表明沒有足夠的空白細胞將結果溢出。清除相鄰的細胞,它將消失。如果錯誤持續存在,請查看#spill在Excel中的意思以及如何修復它。

這就是如何使用包裹和包裹功能將一維範圍轉換為Excel中的二維數組的方法。我感謝您閱讀,並希望下週在我們的博客上見到您!

練習工作簿下載

Wrapcols和Wraprows功能 - 示例(.xlsx文件)

以上是將列 /行轉換為excel中的數組:wrapcols&Wraprows功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Excel中的中位公式 - 實際示例Excel中的中位公式 - 實際示例Apr 11, 2025 pm 12:08 PM

本教程解釋瞭如何使用中位功能計算Excel中數值數據中位數。 中位數是中心趨勢的關鍵度量

Google電子表格Countif函數帶有公式示例Google電子表格Countif函數帶有公式示例Apr 11, 2025 pm 12:03 PM

Google主張Countif:綜合指南 本指南探討了Google表中的多功能Countif函數,展示了其超出簡單單元格計數的應用程序。 我們將介紹從精確和部分比賽到Han的各種情況

Excel共享工作簿:如何為多個用戶共享Excel文件Excel共享工作簿:如何為多個用戶共享Excel文件Apr 11, 2025 am 11:58 AM

本教程提供了共享Excel工作簿,涵蓋各種方法,訪問控制和衝突解決方案的綜合指南。 現代Excel版本(2010年,2013年,2016年及以後)簡化了協作編輯,消除了M的需求

如何將Excel轉換為JPG-保存.xls或.xlsx作為圖像文件如何將Excel轉換為JPG-保存.xls或.xlsx作為圖像文件Apr 11, 2025 am 11:31 AM

本教程探討了將.xls文件轉換為.jpg映像的各種方法,包括內置的Windows工具和免費的在線轉換器。 需要創建演示文稿,安全共享電子表格數據或設計文檔嗎?轉換喲

excel名稱和命名範圍:如何定義和使用公式excel名稱和命名範圍:如何定義和使用公式Apr 11, 2025 am 11:13 AM

本教程闡明了Excel名稱的功能,並演示瞭如何定義單元格,範圍,常數或公式的名稱。 它還涵蓋編輯,過濾和刪除定義的名稱。 Excel名稱雖然非常有用,但通常是氾濫的

標準偏差Excel:功能和公式示例標準偏差Excel:功能和公式示例Apr 11, 2025 am 11:01 AM

本教程闡明了平均值的標準偏差和標準誤差之間的區別,指導您掌握標準偏差計算的最佳Excel函數。 在描述性統計中,平均值和標準偏差為interinsi

Excel中的平方根:SQRT功能和其他方式Excel中的平方根:SQRT功能和其他方式Apr 11, 2025 am 10:34 AM

該Excel教程演示瞭如何計算正方根和n根。 找到平方根是常見的數學操作,Excel提供了幾種方法。 計算Excel中正方根的方法: 使用SQRT函數:

Google表基礎知識:了解如何使用Google電子表格Google表基礎知識:了解如何使用Google電子表格Apr 11, 2025 am 10:23 AM

解鎖Google表的力量:初學者指南 本教程介紹了Google Sheets的基礎,這是MS Excel的強大而多才多藝的替代品。 了解如何輕鬆管理電子表格,利用關鍵功能並協作

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境