描述
使用此函数可以从范围或数组中提取特定列。
句法
CHOOSECOLS(数组, col1, …,[col253])
输入
该函数接受以下参数:
| 姓名 | 必要 | 描述 | 有效输入 |
|---|---|---|---|
数组 |
是 | 要从中选择列的范围或数组。 | 单元格、单元格区域或公式,其结果可以是上述任何一种。 |
col1, …, [col253] |
是 | 要从数组中提取的列号。最多可识别 253 列。 | 单元格引用、标识列位置的正整数(1=A)或能得出这两个结果的公式。 |
实例
范例数据
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 姓名 | 时代 | 城市 | 薪水 |
| 2 | 约翰 | 35 | 纽约 | 75000 |
| 3 | 爱丽丝 | 28 | 芝加哥 | 65000 |
示例公式
| 用例 | 公式 | 解释与结果 | ||||||
|---|---|---|---|---|---|---|---|---|
| 从数据集中提取“名称”和“城市”列。 | =CHOOSECOLS(A1:D3, 1, 3) |
该公式返回第 1 列(名称)和第 3 列(城市),以及标题。对于此数据集,它将返回以下内容:
|
||||||
| 将列顺序改为:薪水、年龄、姓名。 | =CHOOSECOLS(A2:D3, 4, 2, 1) |
此公式将列重新排列为指定的顺序。对于此数据集,它将返回以下内容:
|
||||||
| 仅提取“年龄”列。 | =CHOOSECOLS(A1:D3, 2) |
此公式仅返回“年龄”列。对于此数据集,它将返回以下内容:
|
||||||
| 找出年龄大于 50 的行,并返回姓名和所在城市。 | =CHOOSECOLS(FILTER(A1:D10, B1:B10>30), 1, 3) |
该公式首先使用 FILTER 选择 B 列值大于 50 的行,然后使用 CHOOSECOLS 从这些筛选后的行中提取第 1 列和第 3 列。 对于此数据集,它将返回以下内容:
注: 如果源数据包含员工记录,且记录中包含姓名、年龄、城市和薪水,则此函数将返回一个动态数组,显示 30 岁以上员工的姓名和城市值。结果会自动溢出到相邻单元格。 |
笔记
- 列号从 1 开始,而不是从 0 开始。所以“A”是第 1 列。
- 与所有数组函数一样,CHOOSECOLS 函数会动态地将结果填充到相邻的单元格中,从包含 CHOOSECOLS 函数的单元格开始。
- 选择:
- 可以动态选择和重新排序列。
- 既适用于静态范围,也适用于动态数组。
- 有助于创建大型数据集的子集。
使用技巧
- 如果您有标题行,但不想包含标题,请将数组值从下一行开始(例如,在上面的数据集中,从 A2 而不是 A1 开始)。
- CHOOSECOLS 可以与其他功能结合使用,包括:
相关功能
以下是 Workiva 电子表格中支持的其他数组公式函数。