首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel:如何获得非零值之间的平均值?

Excel:如何获得非零值之间的平均值?
EN

Stack Overflow用户
提问于 2021-03-12 12:03:13
回答 4查看 221关注 0票数 0

我需要得到第二行到第八行非零值的平均值。也就是说,它总是会移动,这取决于非零开始于。

我想我需要的是确定以下几点:

第二非零值

  • 位置第二非零值
  • 第8非零值
  • 值在第二至第八非零值

之间的平均值

这有可能吗?

例如

(2)\x{e76f}\x{e76f}{##**$$}\x{e76f}\x{e76f}{#**$$}\x{e76f}\x{e76f}1|9| >E 217E 11810<代码>E 219\x{e76f}1|9|>\x{e76f}\x{e76f}}

用粗体表示的必须平均。中间的零必须被忽略。

EN

回答 4

Stack Overflow用户

发布于 2021-03-12 18:21:58

如果使用的是Windows Excel 2019年,则:

代码语言:javascript
运行
复制
=AVERAGE(FILTERXML("<t><s>" &TEXTJOIN("</s><s>",TRUE,IF(row_ref<>0,row_ref,""))&"</s></t>","//s[position()>1 and position()<10]"))

  • TEXTJOIN只提取那些非零(和非空白)
  • 的值,通过使用适当的分隔符,我们使用position函数创建一个XML
  • xPath,然后提取第2至8个值(位置2到9)
  • AVERAGE

)。

票数 2
EN

Stack Overflow用户

发布于 2021-03-12 13:11:38

假设您的数据如下面的示例所示,将以下公式放置在T列中并根据需要复制。

代码语言:javascript
运行
复制
=IFERROR(AVERAGE(INDEX(22:22,AGGREGATE(15,6,COLUMN(B22:S22)/(B22:S22<>0),ROW($2:$9)))),"Less than " & rows($2:$9) & " non zero numerical entries")

B22:S22 -表示正在查看的数据行。请随意更改列参考字母以满足您的需要。只需确保公式匹配中的所有引用。

$2:$9 -表示要作为平均值的一部分使用的条目数。2是您想要使用的起始数,对应于第二个非零。9是您想要包含的最后一个数字,总共有8个数字。调整这些数字以更改要包含的数据范围。确保保留$以防止在复制公式时更改行号。

聚合像操作一样执行数组。因此,如果所查看的行过多,则可能导致系统陷入瘫痪或崩溃。此外,在聚合函数中通常应该避免全列引用,以避免过多的计算。

票数 1
EN

Stack Overflow用户

发布于 2021-03-12 14:09:24

我把我的答案放在A1中,以确保它在您的工作表上的任何位置都能正常工作。

假设这样的布局(从D2到T2的第一行数字):

将其粘贴到Y2 (合并)列中:

代码语言:javascript
运行
复制
=AVERAGEIF(OFFSET(C2,0,AGGREGATE(15,3,((D2:T2)>0)/((D2:T2)>0)*COLUMN(D2:T2)-COLUMN(C2),2)):OFFSET(C2,0,AGGREGATE(15,3,((D2:T2)>0)/((D2:T2)>0)*COLUMN(D2:T2)-COLUMN(C2),8)),">0")

然后复制到其他行。

我使用的数据:

代码语言:javascript
运行
复制
  1   2   0   6    4   9   0   7    3   7   1   1   1   2   6   9    7  
  0   0   7   0    1   1   4   4    1   5   8   3   5   6   4   6    4  
  1   7   2   8    0   6   4   9    9   7   8   4   6   9   4   2    9  
  0   1   0   0    0   2   0   0    0   0   0   0   0   0   0   0    0  
  8   7   8   4   10   0   2   2   10   4   4   8   3   3   0   4   10 

在这个公式中,C2是数字行开始之前的单元格(空或非),不包括在要计数的数字中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66599574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档