将 SEQUENCE 作为输入传递给 SEQUENCE 公式的行参数
Passing a SEQUENCE as an input to the rows parameter of SEQUENCE formula
可能是链接到 的解决方案,但我不确定。如果以下面的公式为例:=LET(input1,2,SUM(SEQUENCE(3,,input1)))
= 9
input1=2
我想更改它以便输入可以是一个数组并相应地应用直观的内容(但不起作用):=LET(input1,{2;7},SUM(SEQUENCE(3,,input1)))
= 33
input1 = {2;7}
有办法吗? N.B。 “input1”可以是任意长度或数字选择
你可以试试下面的公式-
=LET(x,2,y,7,SUM(SEQUENCE(3,,x),SEQUENCE(3,,y)))
你可以用同样的方法来做,但是如果数字变大,你最终会 运行 资源不足:
=LET(criteria,{2;7},
N,MAX(criteria),
rowSeq,SEQUENCE(N),
matrix,SEQUENCE(N,3),
SUM((matrix-2*(rowSeq-1))*ISNUMBER(MATCH(rowSeq,criteria,0))))
您不需要单独计算矩阵,但它看起来像这样:
因此您可以看到除 2 和 7 之外的所有行都已设置为零。
结果:33
Lambda 方法
我举手承认我对使用 Lambda 函数没有经验。我认为用数字列表迭代它们有点棘手,但如果你像这样设置一个名为 SumOfSeq 的 lambda 函数肯定会起作用:
=LAMBDA(array,counter,IF(counter=0,0,SUM(SEQUENCE(3,,INDEX(array,counter)))+SumOfSeq(array,counter-1)))
假设最初将计数器设置为传递到数组参数的列表中值的数量。
可以这样调用:
=LET(array,{2,7},count,COUNT(array),SumOfSeq(array,count))
结果:33。
备注
您还可以通过一些数学观察得出答案是
=sum(<input>+1)*3
但我认为这不是问题的重点。
可能是链接到 =LET(input1,2,SUM(SEQUENCE(3,,input1)))
= 9
input1=2
我想更改它以便输入可以是一个数组并相应地应用直观的内容(但不起作用):=LET(input1,{2;7},SUM(SEQUENCE(3,,input1)))
= 33
input1 = {2;7}
有办法吗? N.B。 “input1”可以是任意长度或数字选择
你可以试试下面的公式-
=LET(x,2,y,7,SUM(SEQUENCE(3,,x),SEQUENCE(3,,y)))
你可以用同样的方法来做,但是如果数字变大,你最终会 运行 资源不足:
=LET(criteria,{2;7},
N,MAX(criteria),
rowSeq,SEQUENCE(N),
matrix,SEQUENCE(N,3),
SUM((matrix-2*(rowSeq-1))*ISNUMBER(MATCH(rowSeq,criteria,0))))
您不需要单独计算矩阵,但它看起来像这样:
因此您可以看到除 2 和 7 之外的所有行都已设置为零。
结果:33
Lambda 方法
我举手承认我对使用 Lambda 函数没有经验。我认为用数字列表迭代它们有点棘手,但如果你像这样设置一个名为 SumOfSeq 的 lambda 函数肯定会起作用:
=LAMBDA(array,counter,IF(counter=0,0,SUM(SEQUENCE(3,,INDEX(array,counter)))+SumOfSeq(array,counter-1)))
假设最初将计数器设置为传递到数组参数的列表中值的数量。
可以这样调用:
=LET(array,{2,7},count,COUNT(array),SumOfSeq(array,count))
结果:33。
备注
您还可以通过一些数学观察得出答案是
=sum(<input>+1)*3
但我认为这不是问题的重点。