如何汇总Google表格中多个游戏的玩家成绩?

时间:2019-05-11 19:52:12

标签: google-sheets spreadsheet

我一直在Google表格中使用电子表格来跟踪各个比赛中棒球运动员的成绩。我为每个游戏创建了单独的表格。在每张纸上,我在第1栏中有玩家名称,在第2栏中有他们的点击数,在第3栏中有RBI。

我该如何创建一个母版表,以列出所有不同表(玩过的游戏)中每个玩家的统计信息?

我知道我可以对主表中的每个球员和状态进行SUM('Game 1'!B1,'Game 2'!B1)等操作,但这很繁琐,而且缩放性不佳每次我添加新游戏表时,都会不断更新每个球员和状态的每个公式。

例如,是否有一种方法可以为所有工作表中的每个玩家提供一个简单的公式来汇总所有命中数,而该公式将识别新工作表,而无需在添加新游戏时将它们明确地添加到公式中?

或者有更好的方法吗?我知道如何使用SQL数据库执行此操作,但我没有时间为此项目构建一个数据库,希望能够使用一个简单的电子表格来完成此操作。

1 个答案:

答案 0 :(得分:0)

尽管您的SUM()函数示例告诉我您的方向正确,但是没有具体的工作表,我只能为您提供前提和资源。

首先,要完成动态标签页,您需要依赖Indirect()函数和“帮助程序”列来指向。 Indirect()使用文字作为参数返回其引用。文字本身可以是单元格引用,即一个单元格包含一个值,该值本身就是对另一个单元格(或您的情况下,选项卡)的引用。

我将假设您的母版表在A列中有(可能有?)个玩家名称,并且游戏状态在随后的每个列(B,C,D,...)中是否标有游戏选项卡:Game1,Game2,Game3,...,则B列“标题”将包含“ Game1”,C列将为“ Game2”,D列将为“ Game3”,...(匹配相同的选项卡名称)。 ROW 1,B,C,D,...行中的选项卡名称由indirect()函数用来 help 指向正确的选项卡。不过,这只会带您进入正确的标签。

第二部分利用SUMIF(r,c,s)函数,该函数返回所有值S的SUM,其中C(条件,查找值)为TRUE /在R(查找范围)中找到。在这里,我们使用INDIRECT()函数将图纸和范围拼凑在一起:

   --------- r---------- -c-  ------- s --------

= SUMIF(INDIRECT(B $ 1&“!A2:A”),$ A2,INDIRECT(B $ 1&“!B2:B))

分解,该函数调用说(对于sumif()的第一部分)在单元格B $ 1中获得游戏名称,并在该名称后附加我们的查找条件范围“!a2:a”。注意“!” -这是标签参考分隔符。鉴于以上所述,此间接函数将“ Game1!a2:a”返回到SUMIF()的第一个(范围查找)参数。公式“ $ A2”中未引用下一部分。它是传递给范围查询的值,该值应该是列表中的第一个玩家(col A)。最后,与第一部分类似,最后一部分的“命中”范围总计为“ Game1!B2:B”

这个... = SUMIF(INDIRECT(B $ 1&“!A2:A”),$ A2,INDIRECT(B $ 1&“!B2:B))

在B2中输入(A2中的“ Joe Smith”旁边),然后求值至B1是“ Game1”

将对此进行评估... = SUMIF(Game1!A2:A,A2,Game1!B2:B)

请注意在函数中使用绝对引用。向下复制,列出的每个玩家的$ A2更改,同时复制每个游戏的B $ 2更改。

参考:https://infoinspired.com/google-docs/spreadsheet/dynamic-sheet-tab-names-in-formulas/

希望有帮助。