如何在Excel中将数组参数解包传入DATE等函数?
在Excel中传入垂直数组到DATE函数的方法
如果你有垂直数组{2023;3;16},想要传入DATE函数的话,得先明确:DATE函数需要三个独立的位置参数(年、月、日),而垂直数组是单列多行的结构,没法直接整体传入。
目前Excel没有类似Python里*的解包操作符,所以确实需要手动提取数组中的单个元素作为参数,常用的方法有两种:
使用
INDEX函数逐个提取元素,就像你给出的例子:=LET(a, {2023;3;16}, DATE(INDEX(a,1), INDEX(a,2), INDEX(a,3)))这里
INDEX(a,1)取数组第一行的年份,INDEX(a,2)取月份,INDEX(a,3)取日期,分别作为DATE的三个参数。使用
TAKE函数配合DROP提取元素,比如:=LET(a, {2023;3;16}, DATE(TAKE(a,1), TAKE(DROP(a,1),1), TAKE(DROP(a,2),1)))用
DROP跳过前面的元素,再用TAKE取出对应位置的值,效果和INDEX一致,但写法稍繁琐。
另外,如果能把垂直数组转成水平数组(比如用TRANSPOSE({2023;3;16})得到{2023,3,16}),也可以结合@符号或者CHOOSEROWS来提取,但本质还是手动拆分参数,没有更简洁的“一键解包”方式。
内容的提问来源于stack exchange,提问作者William Bettridge-Radford
相关产品推荐
相关产品推荐

