寻找一些Excel帮助。我有下列工作表:
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相同)。
我第一周就用了这个
=MEDIAN(IF('1B'!L:L>0,'1B'!L:L))
而且似乎只是一只鸭子,但我很难让它成为不包括空白的不同栏目中的交叉页。
我并不反对让另一张表格通过所有的工作表和列来查找游戏标题上的匹配,然后抓取该栏,计算,完成。但是如果我要做这个手册的话,那完全不是问题。
我是一名C#开发人员,所以我会编写代码,我对Excel的操作非常糟糕,语法让我感到非常难过。
更新:预期输出如下:游戏A:平均值: X,中位数Y游戏B:平均值: Z,中位数N
非常感谢!
发布于 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在公式周围放置了花括号{} (尽管不要自己尝试手动插入这些括号)。
https://stackoverflow.com/questions/40027854
复制相似问题