请查看我的电子表格:https://docs.google.com/spreadsheets/d/1K5Btg5fFS590G7vZsFiepY-2VTPhzJIlkKK_o-9Ag7E/edit?usp=sharing
我如何获得:
Start weight
(即“ 100,0”)Daily weightloss
(即“ 99,7701”)Daily weightloss
(即“ 99,5402”)Daily weightloss
(即“ 99,3103”)显然,挑战在于动态地执行此操作,因为所有用户提交的数据以及所有计算出的数据都可能发生变化。
我认为可以/应该使用ArrayFormula解决此问题,但我不知道如何解决。
答案 0 :(得分:1)
=ARRAYFORMULA(IF(A2:A;
MMULT(TRANSPOSE((ROW(INDIRECT("B2:B"&COUNTA(A1:A)))<=
TRANSPOSE( ROW(INDIRECT("B2:B"&COUNTA(A1:A)))))*
{B2; TRANSPOSE(SPLIT(REPT(J5*-1&"♦"; COUNTA(A3:A)); "♦"))});
SIGN({B2; TRANSPOSE(SPLIT(REPT(J5*-1&"♦"; COUNTA(A3:A)); "♦"))})^2); IFERROR(1/0)))
答案 1 :(得分:0)
看来您可以做到
npartitions <- ......
for(n in seq_len(prod(npartitions))){
selected <- 1 + aryExpansion(n-1, sizes = npartitions)
......
}
尽管从上一行计算的角度来看,它不是动态的。