Google表格 - 相当于FOR循环
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google表格 - 相当于FOR循环相关的知识,希望对你有一定的参考价值。
A1 = 8
A2 = 14
我不知道Google表格中是否存在等效的内容,但我想要做的是,对于A1
中的每5个,我想减去A2
中的5个并使其成为A3
中的一个字符串。所以在这个例子中A3 = 14/9
和如果A1 = 12; A3 = 14/9/4
这甚至应该在A1 = 16; A3 = 14/9/4/-1
的情况下进入负面
最终,我想尽可能避免使用API / Script系统。现在,我能想到的唯一方法就是大量的IF()
处理程序。
这是我目前正在使用的公式,但可以理解的是,当IF()
耗尽时,这是一个烂摊子并停止工作。
=A2&
IF(A1>5,
"/"&A2-5&
IF(A1>10,
"/"&A2-10&
IF(A1>15,
"/"&A2-15&
IF(A1>20,
"/"&A2-20
, "")
, "")
, "")
, "")
答案
=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"))
另一答案
试试这样:
=A2-QUOTIENT(A1, 5)*5
另一答案
=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))))))
以上是关于Google表格 - 相当于FOR循环的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围