Google sheets GoogleSheets-相当于FOR循环
我不知道谷歌表单中是否存在与此等价的内容,但我想做的是,对于Google sheets GoogleSheets-相当于FOR循环,google-sheets,google-sheets-formula,cumulative-sum,Google Sheets,Google Sheets Formula,Cumulative Sum,我不知道谷歌表单中是否存在与此等价的内容,但我想做的是,对于A1中的5的每一个倍数,我想从A2中减去5,并在A3中将其设为一个字符串。所以在这个例子中,A3=14/9和ifA1=12;A3=14/9/4如果A1=16,这甚至应该变成否定;A3=14/9/4/-1 最后,如果可能的话,我希望避免使用API/脚本系统。现在我唯一能想到的方法就是使用大量的IF()处理程序 这是我目前使用的公式,但可以理解的是,它很混乱,当IF()用完时就会停止工作 A1 = 8 A2 = 14 试着这样做: =A2
A1
中的5的每一个倍数,我想从A2
中减去5,并在A3
中将其设为一个字符串。所以在这个例子中,A3=14/9
和ifA1=12;A3=14/9/4
如果A1=16,这甚至应该变成否定;A3=14/9/4/-1
最后,如果可能的话,我希望避免使用API/脚本系统。现在我唯一能想到的方法就是使用大量的IF()
处理程序
这是我目前使用的公式,但可以理解的是,它很混乱,当IF()
用完时就会停止工作
A1 = 8
A2 = 14
试着这样做:
=A2&
IF(A1>5,
"/"&A2-5&
IF(A1>10,
"/"&A2-10&
IF(A1>15,
"/"&A2-15&
IF(A1>20,
"/"&A2-20
, "")
, "")
, "")
, "")
像这样尝试:
=A2&
IF(A1>5,
"/"&A2-5&
IF(A1>10,
"/"&A2-10&
IF(A1>15,
"/"&A2-15&
IF(A1>20,
"/"&A2-20
, "")
, "")
, "")
, "")
=ARRAYFORMULA(查询(IF(行(间接)(“A1:A”&商(A1,5)+1)),
MMULT(转置)(行(间接(“A2:A”)和商(A1,5)+2))=ARRAYFORMULA(查询)(IF(行(间接(“A1:A”)和商(A1,5)+1)),
MMULT(转置((行(间接)(“A2:A”&商(A1,5)+2))=IFERROR(数组形式)(到文本(连接(“/”)),
如果(行(间接(“A1:A”)和商(A1,5)+1)),
MMULT(转置((行(间接)(“A2:A”&商(A1,5)+2))=IFERROR(数组形式)(到文本(连接(“/”)),
如果(行(间接(“A1:A”)和商(A1,5)+1)),
MMULT(TRANSPOSE((ROW(INDIRECT(“A2:A”)和商(A1,5)+2))如何得到“14/9”除法?因为14-5=9。我想将每个连续结果添加到一个字符串中,由/
分隔,如何得到“14/9”除法?因为14-5=9。我想将每个连续结果添加到一个字符串中,该字符串由给出最终结果的/
分隔。我将添加当前用于生成所需结果的公式的说明。该公式给出了最终结果。我将添加当前用于生成所需结果的公式的说明result.running total mod不完全是我想要的,但是经过一些调整,它就工作了。我将它调整为=A2&if(A1>5,“/”&JOIN(…Stuff…)”)
以我想要的方式获得一些正确的格式,但在其他方面效果很好。非常感谢,我将把这个问题留到以后再讨论,看看还有什么其他问题,但现在这看起来是最好的答案。这是一个很好的回答,直到我在这个社区因为过早地将答案标记为正确而遇到麻烦。所以现在我更喜欢它至少运行了一天。运行total Mod不完全是我想要的,但经过一些调整,它可以工作。我将它调整为=A2&if(A1>5,“/”&JOIN(…Stuff…”)
以我想要的方式获得一些正确的格式,但在其他方面效果很好。非常感谢,我将把这个问题留到以后再讨论,看看还有什么其他问题,但现在这看起来是最好的答案。这是一个很好的回答,直到我在这个社区因为过早地将答案标记为正确而遇到麻烦。所以现在我更喜欢至少有一天。
=ARRAYFORMULA(QUERY(IF(ROW(INDIRECT("A1:A""IENT(A1, 5)+1)),
MMULT(TRANSPOSE(( ROW(INDIRECT("A2:A""IENT(A1, 5)+2))<=
TRANSPOSE( ROW(INDIRECT("A2:A""IENT(A1, 5)+2))))*
{A2; TRANSPOSE(SPLIT(REPT(5*-1&"♦", QUOTIENT(A1, 5)), "♦"))}),
SIGN({A2; TRANSPOSE(SPLIT(REPT(5*-1&"♦", QUOTIENT(A1, 5)), "♦"))})^2),
IFERROR(1/0)), "limit ""IENT(A1, 5)&" offset 1"))
=IFERROR(ARRAYFORMULA(TO_TEXT(JOIN("/",
IF(ROW(INDIRECT("A1:A""IENT(A1, 5)+1)),
MMULT(TRANSPOSE(( ROW(INDIRECT("A2:A""IENT(A1, 5)+2))<=
TRANSPOSE( ROW(INDIRECT("A2:A""IENT(A1, 5)+2))))*
{A2; TRANSPOSE(SPLIT(REPT(5*-1&"♣", QUOTIENT(A1, 5)), "♣"))}),
SIGN({A2; TRANSPOSE(SPLIT(REPT(5*-1&"♣", QUOTIENT(A1, 5)), "♣"))})^2),
IFERROR(1/0))))))