Google Sheets 动态生成Range/Array按球员交易周期统计总积分问题
解决方案
你不需要额外创建新的表格,用Google Sheets内置函数就能直接实现动态求和的需求,两种常用方案如下:
方案1:用INDIRECT函数拼接动态范围求和
如果你的Calculations表已经有J4(起始列标)、K4(结束列标)这两个标记值,直接在要输出总积分的单元格输入下方公式即可:
=SUM(INDIRECT("'Traded Player Data'!"&J4&ROW()&":"&K4&ROW()))
如果需要匹配其他行的球员,你可以用MATCH函数根据球员姓名自动匹配对应的行号,不用手动调整行参数:
=SUM(INDIRECT("'Traded Player Data'!"&J4&MATCH(B4,'Traded Player Data'!A:A,0)&":"&K4&MATCH(B4,'Traded Player Data'!A:A,0)))
公式说明:
INDIRECT会把你拼接的文本字符串转换为表格可以识别的单元格引用范围,再套上SUM就能直接对指定范围求和,完全符合你动态生成range的需求。
方案2:用QUERY函数按时间条件直接求和
如果你不想依赖J4、K4的范围标记,也可以直接根据球员的引进、下放周数做条件筛选求和:
=QUERY('Traded Player Data'!A:Z, "SELECT SUM(Col"&(2+D4)&") + SUM(Col"&(2+E4)&") WHERE Col1 = '"&B4&"' LABEL SUM(Col"&(2+D4)&") + SUM(Col"&(2+E4)&") ''", 1)
这里的D4、E4对应Calculations表里当前球员的引进周数、下放周数,公式会自动匹配对应周的列求和,不需要预先配置起止列标。
两种方案都可以实现你要的效果,根据你的使用习惯选就行。
内容的提问来源于stack exchange,提问作者user3268054
相关产品推荐
相关产品推荐

