Excel Chooserows功能可以从数组中提取某些行
在本教程中,我们将深入了解名为Chooserows及其实际用途的Excel 365功能。
假设您有一个具有数百行的Excel工作表,您想从中提取一些特定的工作表,例如,所有奇数甚至行,前5行或最后10行等。不用担心!一切都比看起来要简单得多。只需使用新的动态阵列chooserows函数即可。
Excel Chooserows功能
Excel中的Chooserows函数用于从数组或范围提取指定的行。
语法如下:
chooserows(array,row_num1,[row_num2],…)在哪里:
数组(必需) - 源数组。
ROW_NUM1 (必需) - 代表要返回第一行的数字索引的整数。
row_num2 ,…(可选) - 要返回的其他行的索引号。
这是Chooserows功能在Excel 365中工作的方式:
chooserows功能可用性
Chooserows函数仅在Microsoft 365(Windows和Mac)的Excel中可用,并且可用于Web。
提示。要从范围或数组中获取某些列,请使用ChooseCols函数。
如何在Excel中使用Chooserows功能
要从给定数组中拉出特定的行,请以这种方式构建一个choserows公式:
- 对于数组,您可以提供一系列单元格或由另一公式驱动的值。
- 对于Row_num ,提供一个正或负整数,指示要返回哪一行。正数从数组的开头检索相应的行,一个负数 - 从数组的末端。可以在单独的参数中单独提供多个行号,也可以在一个参数中以数组常数的形式提供。
作为Excel动态阵列函数,ChooSerows本地处理数组。您可以在目标范围的左上方单元格中输入公式,并根据需要自动溢出到尽可能多的列和行中。结果是单个动态阵列,也称为溢出范围。
例如,要从A4:D13范围获得2、4、6、8和10行,该公式为:
=CHOOSEROWS(A4:D13, 2, 4, 6, 8, 10)
另外,您可以使用数组常数,例如{2,4,6,8,10}或{2; 4; 6; 6; 8; 10}来指定所需的行:
=CHOOSEROWS(A4:D13, {2,4,6,8,10})
或者
=CHOOSEROWS(A4:D13, {2;4;6;8;10})
提供行号的另一种方法是在单独的单元格中输入它们,然后将单个单元格引用用于多个row_num参数或单个行_num参数的范围参考。
例如:
=CHOOSEROWS(A4:D13, F4, G4, H4)
=CHOOSEROWS(A4:D13, F4:H4)
这种方法的一个优点是,它使您可以通过简单地更改预定义单元格中的数字而无需编辑公式本身来提取任何其他行。
在下面,我们将讨论其他一些Chooserows公式示例,以处理更具体的用例。
从数组末端返回行
要快速从范围获得最后的n行,请为Row_num参数提供负数。这将迫使该函数从数组末端计数行。
例如,要从范围A4:D13范围内获取最后3行,请使用此公式:
=CHOOSEROWS(A4:D13, -3, -2, -1)
结果将是一个3行阵列,其中行以与引用范围相同的顺序出现。
要以相反顺序返回最后3行,从下到顶部,更改Row_num参数的顺序:
=CHOOSEROWS(A4:D13, -1, -2, -3)
从Excel中的数组中提取其他行
要从给定的范围中获取其他行,请将Chooserows与其他一些功能结合使用。该公式会根据您是提取奇数甚至行而变化的。
要返回诸如1、3、5的奇数行,……该公式采用此形式:
=CHOOSEROWS(A4:D13, SEQUENCE(ROUNDUP(ROWS(A4:D13)/2, 0), 1, 1, 2))
返回诸如2、4、6之类的行,……公式如下:
=CHOOSEROWS(A4:D13, SEQUENCE(ROUNDDOWN(ROWS(A4:D13)/2, 0), 1, 2, 2))
该公式如何工作:
从本质上讲,Chooserows函数基于序列函数生成的顺序奇数或偶数数字返回行。下面有详细的公式分解。
首先,您确定要返回多少行。为此,您采用行函数来获取参考阵列中的行总数,然后将其除以2,然后在综述或往返的帮助下向上或向下绕过数字。由于此数字将稍后将其提供给序列的行参数,因此需要舍入以获取一个整数,以防源范围包含奇数行。
由于我们的源范围具有偶数的行(10),这些行数(10)恰好划分为2,因此综述(10/2,0)和倒阵(10/2,0)返回相同的结果,即5。
返回的数字被送给序列函数。
对于奇数行:
SEQUENCE(5, 1, 1, 2)
对于行:
SEQUENCE(5, 1, 2, 2)
上面的序列公式会产生一个由5行和1列组成的数字数组,从奇数行开始为1(偶数行2),并增加2。
对于奇数行,我们得到此数组:
{1;3;5;7;9}
对于行,我们得到了一个:
{2;4;6;8;10}
生成的数组转到Chooserows的Row_num1参数,您将获得所需的结果:
=CHOOSEROWS(A4:D13, {1;3;5;7;9})
反向数组中的行顺序
要从顶部到底垂直翻转数组,您也可以一起使用Chooserows和序列功能。例如:
=CHOOSEROWS(A4:D13, SEQUENCE(ROWS(A4:D13))*-1)
在此公式中,我们仅设置序列的第一个参数(行),该序列等于初始数组行中的行总数(A4:D13)。省略的参数(列,启动,步骤)默认为1。结果,序列会产生顺序数字的数组,例如1、2、3,…,N,其中N是源数组中的最后一行。为了使choserows沿向上方向计数行,生成的序列乘以-1,因此Row_num参数获得了一个负数数组,例如{-1; -2; -2; -3; -4; -4; -5; -5; -6; -8; -8; -8; -9; -9; -10}。
结果,每列中的项目顺序从上到下更改:
从多个阵列中提取行
要从两个或多个非连续范围中获取特定的行,您首先使用VSTACK函数将它们组合起来,然后将合并范围传递给Chooserows。
例如,要从范围A4:D8和最后两个行中提取前两个行,请使用此公式:
=CHOOSEROWS(VSTACK(A4:D8, A12:D16), 1, 2, -2, -1)
根据包含行号的字符串获取行
此示例显示了如何通过从alpha数字字符串中提取数字来返回特定行。
假设您在单元格列出了感兴趣的行中的逗号分隔数。要从字符串中提取行号,请使用可以将文本字符串拆分为给定定界符(在我们的情况下逗号)的文本函数:
=TEXTSPLIT(G3, ",")
结果是一系列文本值,例如{“ 3”,“ 5”,“ 7”,“ 10”}。要将其转换为数字数组,请执行任何不更改值的数学操作,例如0或 *1。
=TEXTSPLIT(G3, ",") *1
这会产生ChooSerows功能需要的数字数组常数{3,5,7,10},因此您将textSplit公式嵌入2 nd参数:
=CHOOSEROWS(A4:D13, TEXTSPLIT(G3, ",") *1)
结果,所有指定的行都以一个数组的形式返回:
chooserows功能不起作用
如果Chooserows公式会导致错误,则最有可能是这些原因之一。
#价值!错误
如果任何row_num参数的绝对值为零或高于数组中的行总数为零或更高,则会发生。
#姓名?错误
如果函数的名称拼写错误或excel中不支持该功能,则会发生。当前,ChooSerows仅在Excel 365中可用,并且可以用于Web。有关更多详细信息,请阅读如何在Excel中修复#NAME错误。
#洒!错误
当没有足够的空白细胞填充结果时,就会发生。要修复它,只需清除阻塞细胞即可。有关更多信息,请参阅Excel #spill!错误。
这就是如何使用excel中的chooserows函数从范围或数组中返回特定行。感谢您的阅读,希望下周在我们的博客上见到您!
练习工作簿下载
Excel Chooserows公式 - 示例(.xlsx文件)
以上是Excel Chooserows功能可以从数组中提取某些行的详细内容。更多信息请关注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)