反饋已提交

網絡繁忙

数组函数概述

1. ADD2ARRAY

ADD2ARRAY(array, insertArray, start):在数组 array 的第 start 个位置插入 insertArray 中的所有元素,再返回该数组。

示例:

ADD2ARRAY([3, 4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7]。

ADD2ARRAY([3, 4, 1, 5, 7], "测试", 3)返回[3, 4, "测试", 1, 5, 7]。

注:如果 start 为小于 1 的数或者不写 start 参数,则默认从数组的第一位开始插入数组元素。

2. ARRAY-返回数组

1)概述

语法ARRAY(arg1,arg2...)返回一个由 arg1,arg2,...组成的数组. [arg1,arg2,...]可以由字符串或者数字构成。
参数number1,number2,…1 到 n 个参数或指定单元格区域中所有数字

2)注意事项

当使用公式嵌套数组单元格时,如果数组单元格内实际是单值,会作为单值处理,需要嵌套 ARRAY 公式确保单元格始终作为数组计算(多值则不需要),比如 B2=ARRAY(1), 使用 INARRAY 函数应该写成:INARRAY(1,ARRAY(B2)),如下图所示:

如果写成 INARRAY(1,B2),则无法返回有效数据,如下图所示:


3)示例

公式
结果备注
ARRAY("hello")hello-
ARRAY("hello","world")hello,world

-

ARRAY("hello",98)hello,98-
ARRAY(67,98)67,98-

3. GREPARRAY

GREPARRAY(array,fn):通过 fn 条件过滤 array 数组,返回过滤后的新数组。

参数
含义参数格式
array
被过滤的数组,不可为空数组格式,如[4,2,6,8,7]
fn

过滤条件

item/index 加运算条件 ,如 item != 3

item 格式:根据数组值进行过滤,index 格式:根据数组值的序号进行过滤

示例:

GREPARRAY([3,4,2,3,6,8,7], item != 3) 返回 [4,2,6,8,7] 。

GREPARRAY([3,4,2,3,6,8,7], index!= 3) 返回 [3,4,3,6,8,7] 。

注:fn 参数必须符合格式要求,否则过滤不生效。比如名称没有定义成 item/index,返回值为原数组。

4. INARRAY

INARRAY(co, array):返回 co 在数组 array 中的位置,如果 co 不在 array 中,则返回 0。

示例:

如果String[] arr = {"a","b","c","d"} ,则:

INARRAY("b", arr)返回 2。

INARRAY("e", arr)返回 0

5. INDEXOFARRAY

INDEXOFARRAY(array, index):返回数组 array 的第 index 个元素。

array:需要返回元素的数组。

index:数组元素的下标。

示例:

INDEXOFARRAY(["第一个", "第二个", "第三个"], 2)返回"第二个"。

在单元格中输入=indexofarray(["a","b","c","d"],3),获取数组中第三个位置的数据即返回值为 c。

6. MAPARRAY

MAPARRAY(array, fn):批量处理数组,通过fn对数组中的元素进行转换。 

array:要转换的数组;

fn:处理数组项目的函数 。

示例:

MAPARRAY([3,4,2,3,6,8,7], item != 3)返回[false,true,true,false,true,true,true]。

MAPARRAY([3,4,2,-3,6,8,-5],if(item>0,1,0)),返回[1,1,1,0,1,1,0]。

7. RANGE

1)概述

语法
RANGE()

函数有三种参数形式:

1. RANGE(to),默认的from为1,step为1,例如:RANGE(4)返回[1,2,3,4]。RANGE(-5)返回[]。

2. RANGE(from,to),默认的step为1,例如:RANGE(-1,3)返回[-1,0,1,2,3]。RANGE(0,5)返回[0,1,2,3,4,5]。

3. RANGE(from,to,step),三个参数的情况参照上面的注释,例如:RANGE(6,-1,-2)返回[6,4,2,0]。RANGE(4,1,1)返回[]。

参数1From

开始值,整数,不写默认为1

参数2To结束值,整数
参数3Step步长,不写默认为1
返回值Array-

2)示例

公式
结果备注
RANGE(4)1,2,3,4从1开始,每次+1,直到4
RANGE(-5)返回空值
从1开始,每次+1,无法到-5,因此返回空值
RANGE(-1,3)-1,0,1,2,3从-1开始,每次+1,直到3
RANGE(6,-1,-2)6,4,2,0从6开始,每次-2,直到-1
RANGE(4,1,1)返回空值从4开始,每次+1,无法到1,因此返回空值
RANGE(1,6,2)1,3,5从1开始,每次+2,直到6

8. REMOVEARRAY

REMOVEARRAY(array, start, deleteCount):从数组 array 中删除从第 start 个元素开始的 deleteCount 个数组元素,并返回删除后的数组。

示例:

REMOVEARRAY([3, 4, 4, 2, 6, 7, 87], 4, 2)返回[3, 4, 4, 7, 87]。

9. REVERSEARRAY

REVERSEARRAY(array):返回数组 array 的倒序数组。

示例:

REVERSEARRAY(["第一个", "第二个", "第三个"])返回["第三个", "第二个", "第一个"]

注:使用 REVERSEARRAY 函数时,参数必须是数组,如果参数不是数组,必须使用 SPLIT 函数将其转换为数组,SPLIT 函数使用参见 SPLIT

10. SLICEARRAY

SLICEARRAY(array, start, end):返回数组从第 start 个到第 end 个元素(包括第 end 个元素)。

示例:

SLICEARRAY([3, 4, 4, 5, 1, 5, 7], 3, 6)返回[4, 5, 1, 5]。 

SLICEARRAY([3, 4, 4, 5, 1, 5, 7], 3)返回[4, 5, 1, 5, 7]。

注:当不使用 end 参数时,返回从 start 开始到数组结束之间的元素。

11. SORTARRAY

SORTARRAY(array):返回数组 array 排过序的数组 ,默认升序排列。

示例:

SORTARRAY([3, 4, 4, 5, 1, 5, 7])返回[1, 3, 4, 4, 5, 5, 7]。

注:数组 array 的元素类型必须一样,并且要可比较。

12. UNIQUEARRAY

UNIQUEARRAY(array):去重,去掉数组 array 中的重复元素,以保留第一次出现的元素为序,返回去重之后的数组。

示例:

UNIQUEARRAY([14, 2, 3, 4, 3, 2, 5, 6, 2, 7, 9, 12, 3])返回[14, 2, 3, 4, 5, 6, 7, 9, 12]。

13. JOINARRAY

JOINARRAY(array,sepa):返回一个由sepa作为分隔符的字符串。

array:[arg1,arg2...]格式的数组;

sepa:分隔符。

示例:

JOINARRAY([1,2],";")=1;2

JOINARRAY(['hello','world'],"-")=hello-world

14. 注意事项

若数组在使用模拟计算时,参数需要写成[1,2,3,4,5]格式。

例如输入公式:INDEXOFARRAY(A2, 2),希望返回数组的第二个数字,则点击模拟计算后需要输入的参数格式为:[1,2,3,4,5],此时得出的模拟计算结果为2,如下图所示:





附件列表


主題: 目录错乱的简中文档合集
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉