目錄
Excel Wrapcols功能
Excel Wraprows功能
包裹和包裹物的可用性
如何將列 /行轉換為Excel中的範圍 - 示例
設置每列或行的最大值數量
在結果數組中的墊子缺失值
將多行合併為2D範圍
將多列組合成2D數組
包裝並排序陣列
Excel 365- 2010年的Wrapcols替代品
包裹替代品的替代品365- 2010年
Wrapcols或Wraprows功能不起作用
#姓名?錯誤
#價值!錯誤
#num!錯誤
#灑!錯誤
練習工作簿下載
首頁 專題 excel 將列 /行轉換為excel中的數組:wrapcols&Wraprows功能

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

Mar 25, 2025 am 09:36 AM

將值或行轉換為二維數組的最快方法是使用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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1663
14
CakePHP 教程
1420
52
Laravel 教程
1313
25
PHP教程
1266
29
C# 教程
1239
24
Excel中的中位公式 - 實際示例 Excel中的中位公式 - 實際示例 Apr 11, 2025 pm 12:08 PM

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

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

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

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

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

Excel:組行自動或手動,崩潰並擴展行 Excel:組行自動或手動,崩潰並擴展行 Apr 08, 2025 am 11:17 AM

本教程演示瞭如何通過對行進行分組來簡化複雜的Excel電子表格,從而使數據易於分析。學會快速隱藏或顯示行組,並將整個輪廓崩潰到特定的級別。 大型的詳細電子表格可以是

Excel:如果單元格包含公式示例 Excel:如果單元格包含公式示例 Apr 09, 2025 am 09:04 AM

本教程演示了各種Excel公式,以檢查單元格是否包含特定值,包括文本,數字或字符串部分。 它涵蓋了使用if,istext,isnumber,搜索,查找,cuntif,centeck,sumproduct,vlookup和neste的情況

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

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

Google表圖教程:如何在Google表中創建圖表 Google表圖教程:如何在Google表中創建圖表 Apr 11, 2025 am 09:06 AM

本教程向您展示瞭如何在Google表中創建各種圖表,並為不同的數據方案選擇正確的圖表類型。 您還將學習如何創建3D和gantt圖表,以及如何編輯,複製和刪除圖表。 可視化數據是CRU

Excel等級功能和其他計算等級的方式 Excel等級功能和其他計算等級的方式 Apr 09, 2025 am 11:35 AM

此Excel教程詳細介紹了等級功能的細微差別,並演示瞭如何根據多個標準,組數據,計算百分位等級等等在Excel中排名數據。 確定列表中數字的相對位置是EASI

See all articles