[英]Google Spreadsheets: Use row of nth occurrence of value for other calculations?
我正在结合使用Google Forms和Google Spreadsheets进行机器人竞赛(FRC)侦察中的数据输入和解释。 用户为每场比赛填写一个表格,其中包含来自6个不同球队的数据。 该数据通过该表单放入电子表格中,并且该数据表被其他工作表用于解释,并输出不同的统计信息。
其中一张工作表旨在显示球队统计数据在其9-10场比赛中的进展。 我希望它以与他们玩过的比赛相同的顺序显示特定统计数据的值(比赛1:10分;比赛2:15分等)。 问题是有40支以上的球队,所以球队没有背靠背比赛。 我正在尝试创建一个函数,该函数在包含团队编号的6列中按行搜索第n个匹配项。 然后,该函数将使用该行从该匹配中返回该团队的统计值。
我的电子表格在这里 。 原始数据表称为“游戏”,而包含进度数据的表称为“超时”。 在“游戏”表中,每行是一个比赛,并且每行中都有6支球队的数据。 每个团队在“超时”工作表上都有一行,而每个统计信息将占用大约10列。
该函数将搜索第n次(如第2行中的数字所指定)出现团队编号(如A列中所指定)的情况。 然后,它将在该行号中搜索组号,并在函数指定的列中返回值(例如,如果组号出现在C列中,则在同一行的E列中返回值)。 在“平均”工作表中,我主要使用SUMIF和COUNTIF函数返回每个统计的平均值,但是我无法弄清楚如何使用此函数第一步所需的数组函数。 我宁愿避免使用隐藏的列和行,因为这样会变得很混乱,因此如果整个函数都在一个单元格中,那就太好了。 我也希望它是一个函数,而不是脚本。
此解决方案每行使用一个函数(而不是整个表使用一个函数)。 在“超时”中!B3:
=ArrayFormula(SPLIT(CONCATENATE(REPT('Games'!E$2:BW&CHAR(9);('Games'!C$2:BU=A3)*(MOD(COLUMN('Games'!C$2:BU$2);14)=3)));CHAR(9)))
可以填充到B8。
如果绝对有必要在整个表中使用一个公式,那么我敢肯定它可以做到,但是它将非常复杂。 此外,根据源数据的大小,这些“连接然后拆分”类型的公式(在数据不太理想时需要使用)必须非常低效。 在您的情况下,这可能不是问题,但是对于大型源数据集,在这种情况下,我希望使用自定义函数来执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.