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"))
=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))))))