我正在尝试创建一个查询函数,该函数将根据 f 列中的内容平均 B、C 和 D 列中的数字
示例:
buckape 1000 10 1000 defense e6vowe0
aiden 500 9 900 defense e6vowe0
faxyst 400 8 800 defense e6vowe0
lumi 300 4 500 defense e6vowe0
refresh 200 2 400 defense e6vowe0
sahsook 100 1 200 defense e6vowe0
doltic 0 1 100 defense e6vowe0
目前,我可以像这样对按 F 列分组的行进行平均:
=Query(A:F, "select F, avg(B), avg(C), avg(D) where F is not null and E='defense' group by F",-1)
反过来,这会导致我的平均值按 ID 显示(这很好)
event ID avg heal avg kills avg damage
e6vowe0 357.14 5.00 557.14
hfgk3og0 514.29 5.29 814.29
但是,我正在努力让它(希望在相同的公式中)也除以每个原始数字(即 B2/基于 F 的 B 的平均值),然后也对 C 列和 D 列重复该过程。< /p>
希望这是有道理的,希望这里有人比我更了解查询功能。谢谢
答案 0 :(得分:0)
试试:
=ARRAYFORMULA(IF(A2:A="",,{A2:A, B2:D/QUERY(QUERY(A:F,
"select avg(B),avg(C),avg(D)
where F is not null
and E='defense'
group by F", 0), "offset 1", 0)}))
=ARRAYFORMULA(IF(E2:E="defense", {A2:A, B2:D/
IFNA(VLOOKUP(F2:F, QUERY(QUERY(A:F,
"select F,avg(B),avg(C),avg(D)
where F is not null
and E='defense'
group by F", 0), "offset 1", 0), {2,3,4}, 0))}, ))