Excel Choosecols功能可從數組或範圍獲取列
本教程將向您介紹一個名為ChooseCols的新Excel 365動態數組功能,並顯示如何使用它從數組中提取任何特定的列。
想像一下,您正在使用數百或數千列的數據集。顯然,有些列比其他列更重要,而且自然而然地,您可能想先閱讀他們的數據。 Excel 365為工作提供了完美的功能,可以立即從數組中檢索到特定的確定性,因此您可以專注於最相關的信息。
Excel Choosecols功能
Excel中的ChooseCols功能旨在從數組或範圍返回指定的列。
語法包括以下參數:
Choosecols(array,col_num1,[col_num2],…)在哪裡:
數組(必需) - 源數組或範圍。
col_num1 (必需) - 指定第一列返回的整數。
col_num2 ,…(可選) - 返回其他列的索引數。
這就是Choosecols功能在您的Excel中的外觀:
ChooseCols功能可用性
當前,ChooseCols功能可在Microsoft 365(Windows和Mac)的Excel中獲得,以及excel for Web。
提示。為了從範圍或數組中提取一些行,Chooserows功能可能會派上用場。
如何在Excel中使用Choosecols功能
ChooseCols是一個動態數組函數,因此它本地處理數組。該公式僅在一個單元格中輸入 - 目標範圍的左上方單元格 - 它自動將其溢出到指定的參數和與原始數組中的數量一樣多的行中。結果是單個動態陣列,稱為溢出範圍。
要在Excel中製作ChooseCols公式,這就是您需要做的:
- 對於陣列,提供一系列單元格或一系列值。
- 對於col_num ,提供一個正或負整數,指示要返回哪個列。一個正數從數組的左側拉出相應的列,一個負數 - 從陣列的右側。要獲取多個列,您可以在單獨的參數或一個參數中以數組常數的形式定義它們的數字。
例如,要從範圍A4:E19獲取第2、3和4列,公式為:
=CHOOSECOLS(A4:E19, 2, 3, 4)
另外,您可以使用水平數組常數,例如{2,3,4}或垂直數組常數,例如{2; 3; 4}來指定列號:
=CHOOSECOLS(A4:E19, {2,3,4})
=CHOOSECOLS(A4:E19, {2;3;4})
上面的所有三個公式都將產生相同的結果:
在某些情況下,您可能會發現在某些單元格中輸入列號,然後單獨引用這些單元格或提供單個範圍參考更方便。例如:
=CHOOSECOLS(A4:E19, G4, H4, I4)
=CHOOSECOLS(A4:E19, G4:I4)
這種方法為您提供了更大的靈活性 - 要提取任何其他列,您只需在預定義的單元格中鍵入不同的數字,而不必修改公式本身。
現在,您知道了必需品,讓我們深入研究,並探索一個更複雜的Choosecols配方以處理特定方案。
從範圍獲取最後一列
要從範圍末端返回一個或多個列,請為Col_num參數提供負數。這將使函數啟動從數組的右側計數列。
例如,要獲取從範圍的最後一列,請使用此公式:
=CHOOSECOLS(A4:E19, -1)
要提取最後兩列,請使用此列:
=CHOOSECOLS(A4:E19, -2, -1)
要以相反順序返回最後兩個列,請更改類似的Col_num參數的順序:
=CHOOSECOLS(A4:E19, -1, -2)
在Excel中獲取其他所有專欄
要從給定範圍中提取其他列,您可以將Choosecols與其他幾個功能一起使用。下面有兩個用於提取奇數甚至列的公式的版本。
要獲取奇數列(例如1、3、5等),公式為:
=CHOOSECOLS(A4:E19, SEQUENCE(ROUNDUP(COLUMNS(A4:E19)/2, 0), 1, 1, 2))
要返回均勻的列(例如2、4、6等),該公式採用此表格:
=CHOOSECOLS(A4:E19, SEQUENCE(ROUNDDOWN(COLUMNS(A4:E19)/2, 0), 1, 2, 2))
下面的屏幕截圖顯示了第一個行動中的公式:
該公式如何工作:
簡短說明:Choosecols函數基於序列函數產生的順序奇數或偶數數字的數組返回其他列。
詳細的公式分解:
第一步是計算要返回多少列。為此,我們使用以下公式之一:
ROUNDUP(COLUMNS(A4:E19)/2, 0)
或者
ROUNDDOWN(COLUMNS(A4:E19)/2, 0)
列計算源範圍內的列總數。您將該數字除以2,然後根據您是提取奇數還是偶爾的列,將商圍繞或向下圍繞整數圍繞整數,借助綜述或舍入。如果源範圍包含奇數列,則需要捨入,當將列除以2時,剩餘的列會留下剩餘。
我們的源範圍有5列。因此,對於奇數列綜述(5/2,0)返回3,而對於列列(5/2,0),均勻返回2。
返回的數字被提供給序列函數的第一個參數(行)。
對於奇數列,我們得到:
SEQUENCE(3, 1, 1, 2)
該序列公式生成一個由3行和1列組成的數字數組,從1開始,從2增量,為{1; 3; 5}。
對於均勻的列,我們有:
SEQUENCE(2, 1, 2, 2)
在這種情況下,序列會產生由2行和1列組成的數字數組,從2行開始,並以2為2,即{2; 4}。
上述數組轉到chosecols的col_num1參數,您將獲得所需的結果。
在Excel中水平翻轉陣列
為了將數組中從左到右的數組中的列的順序扭轉,您可以以這種方式將ChooseCols,sequence和Coments一起使用:
=CHOOSECOLS(A4:D19, SEQUENCE(COLUMNS(A4:D19)) *-1)
結果,原始範圍是水平翻轉的,如下圖所示:
該公式如何工作:
在這裡,我們使用序列函數來生成一個數組,該數組包含與源數組中有列一樣多的順序數字。為此,我們在行參數中嵌套列(A4:D13):
SEQUENCE(COLUMNS(A4:D19))
省略了其他參數(列,啟動,步驟),因此它們默認為1。結果,序列會產生一個順序數字的數組,例如1、2、3,…,n,其中n是數組中最後一列的索引。為了強制ChooseCols函數對從右至左進行計數列,我們將生成序列的每個元素乘以-1。結果,我們得到了一系列負數,例如{-1; -2; -3},它轉到ChooseCols的Col_num參數,指示它從數組的右側返回相應的列:
CHOOSECOLS(A4:D19, {-1;-2;-3;-4})
基於字符串的列提取數字
在以文本字符串的形式提供目標列的索引編號時,您可以使用TextSplit函數將字符串通過給定的定界符拆分,然後將結果數陣列傳遞給ChooseCols。
假設列編號在單元格H3中列出,並由逗號和空間隔開。要獲取感興趣的列,請使用此公式:
=CHOOSECOLS(A4:E19, TEXTSPLIT(H3, ", ") *1)
該公式如何工作:
首先,您將字符串通過給定的定界符(在我們的情況下是一個逗號和空間)分開:
TEXTSPLIT(H3, ", ")
中間結果是一系列文本值,例如{“ 1”,“ 4”,“ 5”}。要將文本轉換為數字,請將數組項乘以1或執行任何不更改原始值的其他數學操作。
TEXTSPLIT(H3, ", ") *1
這會產生一個數字值{1,4,5},chosecols函數可以處理,並且您將獲得所需的結果:
CHOOSECOLS(A4:E19, {1,4,5})
從多個範圍提取列
為了從幾個非連續範圍獲取特定的列,您首先將所有範圍合併為VSTACK函數,然後使用ChooseCols處理合併範圍。
例如,要從範圍A4:d8,a12:d15和a19:d21返回第1和3列,公式為:
=CHOOSECOLS(VSTACK(A4:D8, A12:D15, A19:D21), 1, 3)
Choosecols功能不起作用
如果Choosecols公式會引發錯誤,則最有可能是以下一個。
#價值!錯誤
如果任何col_num參數的絕對值零或大於引用數組中的列總數為零或大。
#姓名?錯誤
如果該函數的名稱拼寫錯誤或函數在您的Excel版本中不可用,則會發生。當前,Choosecols僅在Excel 365中得到支持,並為Web提供Excel。有關更多詳細信息,請參見如何在Excel中修復#NAME錯誤。
#灑!錯誤
當某些東西阻止公式將結果溢出到相鄰細胞中時,就會發生。要修復它,只需清除阻塞細胞即可。有關更多信息,請查看如何修復#spill! Excel中的錯誤。
這就是如何使用Excel中的Choosecols功能來從範圍或數組中返回特定列。感謝您閱讀並在下週在我們的博客上與您見面!
練習工作簿下載
Excel Choosecols公式 - 示例(.xlsx文件)
以上是Excel Choosecols功能可從數組或範圍獲取列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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