Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets GoogleSheets-相当于FOR循环_Google Sheets_Google Sheets Formula_Cumulative Sum - Fatal编程技术网

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
和if
A1=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"&QUOTIENT(A1, 5)+1)),
 MMULT(TRANSPOSE((     ROW(INDIRECT("A2:A"&QUOTIENT(A1, 5)+2))<=
       TRANSPOSE(      ROW(INDIRECT("A2:A"&QUOTIENT(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 "&QUOTIENT(A1, 5)&" offset 1"))
=IFERROR(ARRAYFORMULA(TO_TEXT(JOIN("/", 
                   IF(ROW(INDIRECT("A1:A"&QUOTIENT(A1, 5)+1)),
 MMULT(TRANSPOSE((    ROW(INDIRECT("A2:A"&QUOTIENT(A1, 5)+2))<=
       TRANSPOSE(     ROW(INDIRECT("A2:A"&QUOTIENT(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))))))