我看过类似的问题,我认为我已经接近一个可行的解决方案,但它给了我错误的答案。我在Google中有一个电子表格,所有列都有数据,但是其他每个单元格都包含一个美元值,我只需要这些单元格的平均值。它们在单元格G3上启动(在这个版本中),并继续遍历第3行的大部分部分,然后我打算将公式复制到那些需要平均的行中具有相同单元格的其他行,因此如果它将随着我的复制而调整,这将是最好的。到目前为止,我所做的工作如下:
=AVERAGEIF(ArrayFormula(mod(列(G3:3),2)),“>0”
它返回1作为结果,当它应该是1500。如果我将2改为另一个数字,结果会随之增加,所以我认为模块或列中的某些内容做错了,但是我没有足够的实践来知道我在哪里搞错了。
发布于 2021-02-22 19:49:51
每第二列的avg都是这样的:
=AVERAGE(FILTER(G3:3, MOD(COLUMN(G3:3)-1, 2)=0))
发布于 2022-03-03 22:37:37
关于过滤器的功能。谢谢你们。
有一种使用ArrayFormula的方法。我想你差点就明白了。我更倾向于为AVERAGEIF增加一个参数来指定平均值的范围。我不知道在这种情况下它是否默认为范围。
我会对列和第一列的区别做模运算。我想对于你的问题,它是不需要的,因为所有的列数要么是奇数,要么是偶数。但是,使用这种差异是一种通用的方法来应用这个概念来表示每一列。
任意列数的模2是0或1。所以不要使用不等式,只需使用0或1。从公式看,您的美元值必须在奇数列中,所以模块的结果应该是1。但我认为如果您从G3开始,那么在应用Mod 2之前先取列差,然后将所需的结果更改为0。但是,当然,要切换到另一列,将0更改为1。
=AVERAGEIF(ArrayFormula(mod((COLUMN(G3:3)-COLUMN(G3)),2)),0,G3:3)
https://stackoverflow.com/questions/66321273
复制相似问题