赛龙周 发表于 5 天前

excel的数组公式可以构建吗

请教大佬:excel的数组公式可以构建吗?


例如:{"name","age","saliay";"zs",28,5000;"ls",43,8000}

我在公式中直接录入以上内容可以计算如:=COLUMNS({"name","age","saliay";"zs",28,5000;"ls",43,8000})//返回3

单用字符拼接后就不能计算了str= {"name","age","saliay";"zs",28,5000;"ls",43,8000} =COLUMNS(str)//返回#value!

想把数组公式转为二维数组,没找到活字格的方法。

有大佬解答下,多谢!

Nathan.guo 发表于 5 天前

大佬,直接引用str的话,系统会当作字符处理,我们可以使用字符串分割为数组命令,然后columns公式直接引用这个数组即可






赛龙周 发表于 5 天前

Nathan.guo 发表于 2024-6-24 15:35
大佬,直接引用str的话,系统会当作字符处理,我们可以使用字符串分割为数组命令,然后columns公式直接引用 ...

感谢大佬,我测试了下,用你的方法实际转成的是一维数组,{"name","age","saliay";"zs",28,5000;"ls",43,8000}用;分割相当于["","",""];用COLMUNS测试能通过
但实际上是个二维数组
"name","age","saliay"
"zs",28,5000
"ls",43,8000

用vlookup()测试就不行了,vlookup("zs",array,2,false)//返回#NA!

赛龙周 发表于 5 天前

array= [["name","age","saliay"],["zs","28","5000"],["ls","43","8000"]]
vlookup("zs",array,2,false)//返回#NA!
这样也不行

赛龙周 发表于 5 天前

array= [["name","age","saliay"],["zs","28","5000"],["ls","43","8000"]]
vlookup("zs",array,2,false)//返回#NA!
这样也不行

逛逛逛 发表于 5 天前

前端可以考虑用自定义公式啊

Nathan.guo 发表于 5 天前

赛龙周 发表于 2024-6-24 16:45
array= [["name","age","saliay"],["zs","28","5000"],["ls","43","8000"]]
vlookup("zs",array,2,false)/ ...

大佬,我们再命令中使用vlookup公式是为了实现啥功能呢,使用数组查询命令可以满足我们的需求吗~~

赛龙周 发表于 4 天前

Nathan.guo 发表于 2024-6-24 17:27
大佬,我们再命令中使用vlookup公式是为了实现啥功能呢,使用数组查询命令可以满足我们的需求吗~~

没有特定的需求,想研究下excel公式在服务端命令中的更多应用。
在你的基础上又测试了下

设置变量str={"name","age","saliay";"zs",28,5000;"ls",43,8000}
返回的看上去是个数组:

如果直接取str,   VLOOKUP("zs",str,2,FALSE)返回28,结果OK


但如果是自己构建的二维数组,VLOOKUP("zs",json,2,FALSE) 返回错误

Nathan.guo 发表于 4 天前

赛龙周 发表于 2024-6-25 08:50
没有特定的需求,想研究下excel公式在服务端命令中的更多应用。
在你的基础上又测试了下



不过有一说一,再命令中用vlookup确实比较少见:'(

赛龙周 发表于 4 天前

Nathan.guo 发表于 2024-6-25 14:37
不过有一说一,再命令中用vlookup确实比较少见

:P重新发了个贴,我发现用对象工具构建的二维数组,用type()类型检查时返回#value!,不知道是不是这个原因
页: [1] 2
查看完整版本: excel的数组公式可以构建吗