【问题标题】:Excel Calculate Average and Median across multiple worksheets and columnsExcel 计算多个工作表和列的平均值和中位数
【发布时间】:2016-10-13 17:57:04
【问题描述】:

寻找一些 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,中位数相同,数据缺失/空值相同)。

我第一周就用了这个

=MEDIAN(IF('1B'!L:L>0,'1B'!L:L))

而且似乎只是鸭子,但我正在努力让它成为不包括空白的不同列中的交叉表。

我不反对使用另一张表查看所有工作表和列以找到游戏标题的匹配项,然后抓取该列,计算,完成。但是,如果我必须手动执行此操作,那完全没有问题。

我是一名 C# 开发人员,所以我得到了代码,我只是在 Excel 方面非常糟糕,而且语法让我有点难过。

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

非常感谢!

【问题讨论】:

  • 那么你能举几个例子来说明你发布的数据的预期结果吗?此外,让我们了解您为存放结果而设置的结果表的布局可能是一个想法。
  • 当然,谢谢!我正在寻找的结果是:分数 A:平均:12 中位数 13 分数 B:平均:9 中位数 11(这个数学是错误的,希望你明白).. 基本上每个弹球机的平均值和中位数贯穿始终N 周它正在发挥作用。我需要的只是信息,这些信息将从 Excel 中取出到另一个程序中
  • 我明白了。所以这些没有按名称进一步细化?
  • 假设有三台机器,每周我们玩两台。我正在寻找的是这样的:BATMAN:AVG:12,365,220 MED:14,252,100 ||| TRON:平均:6,329,200 MED:9,234,532。在原帖中,考虑 SCOREA = BATMAN, SCOREB = TRON
  • 恐怕你刚刚把我和蝙蝠侠、波场等新话题弄糊涂了。这与 SCOREA、SCOREB 等有什么关系?当我问这些结果是否要按名称细化时,我指的是 TIM、BILL、TED 等。这就是为什么我建议你应该将空白结果表添加到帖子中,也许有几个预期已添加结果。

标签: excel vba


【解决方案1】:

假设:

1) 您拥有Excel 2007 或更高版本

2)要查询的每张表中的数据都占据A1:D5的范围(第1行有标题,A列有名称)

3) 您将您希望获得所需结果的游戏(例如“GAME B”)放在被查询之外的工作表的单元格A1

首先转到Name ManagerFormulas标签)并进行以下定义:

姓名: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 以获得该游戏的等效中位数。

问候

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

【讨论】:

  • 感谢@XOR LX 的回复。我正在使用 Excel 2013。我已设置名称,并将该公式添加到工作表中,但无法使其正常工作。我认为我们对这里发生的事情感到困惑。我已在此处 [link]alcohog.com/sample.xlsx[/link] 上传了我的工作电子表格,如果您有时间看一下它可能会更有意义。
  • 你能检查那个链接吗?我收到以下消息:“ HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确正确。”
  • 格式搞砸了,希望能用!谢谢 Xor!
  • 似乎看不到您尝试在此文件中的任何位置添加我的解决方案?
  • 它不在里面,那是带有比赛/得分/平均信息的原始电子表格。我想让你看看它的格式,以确保我们在同一页上,因为描述似乎感到困惑
猜你喜欢
  • 2022-01-04
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
  • 2020-06-10
  • 2016-10-16
  • 2017-02-06
  • 2016-04-17
  • 1970-01-01
相关资源
最近更新 更多