Excel 如何从多个工作表中单独选择数据

Excel 如何从多个工作表中单独选择数据,excel,excel-formula,Excel,Excel Formula,我确信这是可以做到的,并且可能会导出到Access,但我只是想知道是否有人对我遇到的问题有任何建议 我有一个excel文件,里面有棒球击球和投球的统计数据。每年都有不同的工作表或2015击球和2015投球。这已经做了好几年了 我想做一个总计工作表,包括每个球员的总计,但只显示在一行上 每年都有一些球员不再在球队踢球,每年都有一些新球员出现。我不想一个人一个人去尝试用手去做这件事,那会花上一辈子的时间。我想用某种方式在所有的标签中搜索“约翰·史密斯”,并统计他的击球和投球总数 每个工作表都有标题

我确信这是可以做到的,并且可能会导出到Access,但我只是想知道是否有人对我遇到的问题有任何建议

我有一个excel文件,里面有棒球击球和投球的统计数据。每年都有不同的工作表或2015击球和2015投球。这已经做了好几年了

我想做一个总计工作表,包括每个球员的总计,但只显示在一行上

  • 每年都有一些球员不再在球队踢球,每年都有一些新球员出现。我不想一个人一个人去尝试用手去做这件事,那会花上一辈子的时间。我想用某种方式在所有的标签中搜索“约翰·史密斯”,并统计他的击球和投球总数

  • 每个工作表都有标题,如击球、击球、双打、三打、HR、RBI等

这更多的是为了休闲,而不是需要完成的事情。如果有人有任何建议,我只想这么做


将每个球员的名字复制粘贴到一个单独的工作表中,然后删除重复的名字怎么样。在那之后,你可以根据球员的名字做一个速成赛。第一个需要几分钟,但在那之后,您可以使用绝对引用向下滚动它们。

我看到您使用的是表格,而不是excel basic cheets,这将使下面的操作更简单

我的解决方案的要点是使用嵌套在sum()中的索引(Match()),或者您想要测试的任何东西、平均值、标准偏差等。它类似,但比vlookup更健壮,好像表的结构发生变化,公式将相应地进行编辑。如果没有关于您的文件结构的更详细信息,它将大致如下:

=SUM(INDEX(batting2015[PA],MATCH(outputtable[@[Name]], batting2015[Name])),INDEX(batting2014[PA],MATCH(outputtable[@[Name]], batting2014[Name])),... etc)
第一步是理解INDEX(MATCH())的输出。将从某个范围返回参考值。查看特定值的值向量。通过使用MATCH()查找玩家,并将其与INDEX()配对以返回他们的结果(击球平均数、底线等),然后可以对后续表格中的这些值求和。 表格的形式将与所有其他表格相同,玩家在垂直方向上作为不同的记录,统计数据在水平方向上作为不同的字段。这里的好处是,您只需要为每个字段创建一个公式,然后如果您在新的Excel表对象中构建它,它将自动向下复制。 值得注意的是,除非通过将match中的match type参数设置为0 match(查找\值、查找\数组、匹配\类型),将匹配指定为“精确”,否则可能会错误匹配具有相似名字的玩家


此外,由于您有表,我假设您有意使用结构化引用。如果没有,.

就有它的jist。我从1901年开始,目前在1915年工作。@pnuts。。。。。。。这基本上就是我正在做的,但只为一支球队。谢谢你的参考,我想知道除了棒球参考,ESPN,是否有人构建了类似的东西(在更小的层面上),安东尼,谢谢你的回复,我已经考虑过这样的事情,但我认为一定有一种方法可以实现这一点,而不必做所有的事情。嗨,戴夫,我可能错过了一些东西,可能是我。我转到我的空白总计工作表,在标题PA下插入了以下代码:=SUM(索引(1901击球[PA],匹配(名称[@[Name]],1901击球[Name])),索引(1901击球[PA],匹配(可输出[@[Name]],1901击球[Name])。这导致突出显示“(1901击球[PA])的错误在代码的第一部分中,我实际上使用了一个伪代码,首先假设您的每张工作表上都有一个表对象(它们看起来就像屏幕截图中的那样),然后假设表名与您描述的工作表名相同。如果您不熟悉这一点,请检查我在答案末尾的链接。您也可以通过公式>名称管理器检查表名。如果从一开始就正确设置了,则使用表和结构化引用确实可以加快此类项目的速度。