首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Excel计算多个工作表和列的平均值和中位数。

Excel计算多个工作表和列的平均值和中位数。
EN

Stack Overflow用户
提问于 2016-10-13 17:57:04
回答 1查看 1.2K关注 0票数 1

寻找一些Excel帮助。我有下列工作表:

代码语言:javascript
代码运行次数:0
运行
复制
WORKSHEET WEEK1
A-------|B------|C------|D------
NAME    |GAME A |GAME B |GAME C
JIM      10      15      12
BILL     12      10      5
TED      
PHIL     0       8       17

WORKSHEET WEEK2
A-------|B------|C------|D------
NAME    |GAME D |GAME F |GAME B
JIM      15      10      9
BILL     
TED      3       21      18 
PHIL     12      2       30

基本上,我会有10个工作表(每周一张)。我们正在连续几个星期追踪人们的弹球成绩。每周的比赛/分数将不会按相同的顺序排列(20台机器,每周只玩6台)。

我需要在多个工作表中计算机器的平均值和中位数,并消除任何缺失或零分数(所以平均10,0,10是10,中位数相同,数据丢失/null相同)。

我第一周就用了这个

代码语言:javascript
代码运行次数:0
运行
复制
=MEDIAN(IF('1B'!L:L>0,'1B'!L:L))

而且似乎只是一只鸭子,但我很难让它成为不包括空白的不同栏目中的交叉页。

我并不反对让另一张表格通过所有的工作表和列来查找游戏标题上的匹配,然后抓取该栏,计算,完成。但是如果我要做这个手册的话,那完全不是问题。

我是一名C#开发人员,所以我会编写代码,我对Excel的操作非常糟糕,语法让我感到非常难过。

更新:预期输出如下:游戏A:平均值: X,中位数Y游戏B:平均值: Z,中位数N

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-10-14 12:01:51

假设:

1)您有Excel 2007或更高版本

2)要查询的每个工作表中的数据都位于A1:D5范围内(标题位于第1行,名称位于A列)。

3)你把你的选择放在游戏中。(“游戏B"),您希望在被查询的工作表的单元格A1中获得预期的结果。

首先转到Name Manager (Formulas选项卡)并进行以下定义:

名称:SheetList

指:={"Sheet1","Sheet2","Sheet3"}

(或任何有关的纸张名称。)。

那么,平均所需的array formula**是:

=AVERAGE(IFERROR(1/(1/N(INDIRECT(SheetList&TEXT(ROW(B2:D5)*10^5+TRANSPOSE(MODE.MULT(IF(T(INDIRECT(TRANSPOSE(SheetList)&TEXT(10^5+COLUMN(B2:D5),"!R0C00000"),0))=A1,COLUMN(B2:D5)),COLUMN(B2:D5))),"!R0C00000"),0))),""))

将上面的AVERAGE替换为MEDIAN,以获得该游戏的等效中值。

问候

**数组公式的输入方式与“标准”公式不同。首先按住CTRL和SHIFT,然后按ENTER键,而不是只按ENTER键。如果您做得正确,您会注意到Excel在公式周围放置了花括号{} (尽管不要自己尝试手动插入这些括号)。

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

https://stackoverflow.com/questions/40027854

复制
相关文章

相似问题

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