如何根据新表单提交的数据自动计算公式?

如何根据新表单提交的数据自动计算公式?

我正在尝试计算通过表单提供的条目中提交的日期数。我已经想出了实现该操作的公式。问题是每次提交新的表单条目时都会创建一个新行,除了每次手动拖动公式以包含新到达的条目之外,我没有其他办法。

有什么方法可以自动完成此操作吗?我读到过,您可以使用包含整个电子表格范围的数组公式来执行此操作,但我无法使其工作,因为每个单元格都必须计算其自己行上的日期(并且此范围在每个单元格中都会发生变化)

这是样本表 https://docs.google.com/spreadsheets/d/1WkaIq5cNpyqvqJ6UdUQHd4jsaPlDDl9rocKZRses3DA/edit?usp=sharing

我的问题:每次提交表单条目时,如何自动执行步骤 1?有没有办法只使用公式来做到这一点(如果有,怎么做)?

附言:我也尝试过将表单回复复制到不同的工作表中并从那里进行计算,但每次创建新行时,公式都会调整为指向新行下方的行。例如,如果公式指向 B6 并且新行在第 6 行创建,则公式会突然指向 B7。

答案1

我找到了两种使其发挥作用的方法:

第一的:

=arrayformula(MMULT(N(E1:J42<>""), transpose(column(E1:J1)^0)))

第二个版本(更为复杂的版本)

=arrayformula(if(B3:B<>"";NOT(ISBLANK(E3:E))+NOT(ISBLANK(F3:F))+NOT(ISBLANK(G3:G))+NOT(ISBLANK(H3:H))+NOT(ISBLANK(I3:I))+NOT(ISBLANK(J3:J));))

从这个答案中获得了一些启发:

https://webapps.stackexchange.com/questions/113895/how-to-use-average-inside-arrayformula-in-google-sheets

答案2

尝试输入 H3:

=if(A3=ʺʺ,ʺʺ,counta(B3:G3))

然后一直向下拖动...如果有效(或无效...),请分享。(:

相关内容