如何根据具有多个条目的文本字段向现有 table 添加新计算?
How to add new calculations to existing table based on text field with multiple entries?
问题:如何使用指定的计算填充 [score [TXT]] 列?有时,计算将基于多行,具体取决于 [game] 列中的值。
我有一个 table,其中包含 Metascores 和游戏名称,我想应用某种公式来自动计算条目的 AVG、MAX 和 MIN。上面的 table 有我想要的输出。我正在使用 Office 365 - Excel.
当前table
Metascore
score AVG
score MAX
score MIN
game
87
Assassin's Creed Odyssey
86
Assassin's Creed Odyssey
83
Assassin's Creed Odyssey
66
Bleeding Edge
62
Bleeding Edge
期望输出
Metascore
score AVG
score MAX
score MIN
game
87
85.3
87
83
Assassin's Creed Odyssey
86
85.3
87
83
Assassin's Creed Odyssey
83
85.3
87
83
Assassin's Creed Odyssey
66
64
66
62
Bleeding Edge
62
64
66
62
Bleeding Edge
有些标题只出现一次,有些出现多次。是否有我可以应用的公式或脚本循环遍历 table 并应用计算,或不同的输出建议?
感谢您的帮助!!
例如 =UNIQUE(E2:E6)
E10
=AVERAGEIF($E:$E,$E#,A2:A6)
in A10
复制到右边。
或者一次性使用 LET
:
=LET(data,A2:E6,
game,INDEX(data,,5),
unique,UNIQUE(game),
CHOOSE({1,2,3,4,5},
AVERAGEIF(game, unique,INDEX(data,,1)),
AVERAGEIF(game, unique,INDEX(data,,2)),
AVERAGEIF(game, unique,INDEX(data,,3)),
AVERAGEIF(game, unique,INDEX(data,,4)),
unique))
编辑:
更改描述后,这是您需要的:
在B2
中使用:=AVERAGEIF(E2:E6,E2:E6,A2:A6)
在C2
中使用:=MAXIFS(A2:A6,E2:E6,E2:E6)
在D2
中使用:=MINIFS(A2:A6,E2:E6,E2:E6)
如果您将数据分为两列(比方说 A20:B20
)并且想要在其他地方进行汇总,您可以使用以下内容:
=LET(data,A2:B6,
game,INDEX(data,,2),
score,INDEX(data,,1),
unique,UNIQUE(game),
CHOOSE({1,2,3,4},
unique,
AVERAGEIF(game,unique,score),
MAXIFS(score,game,unique),
MINIFS(score,game,unique)))
问题:如何使用指定的计算填充 [score [TXT]] 列?有时,计算将基于多行,具体取决于 [game] 列中的值。
我有一个 table,其中包含 Metascores 和游戏名称,我想应用某种公式来自动计算条目的 AVG、MAX 和 MIN。上面的 table 有我想要的输出。我正在使用 Office 365 - Excel.
当前table
Metascore | score AVG | score MAX | score MIN | game |
---|---|---|---|---|
87 | Assassin's Creed Odyssey | |||
86 | Assassin's Creed Odyssey | |||
83 | Assassin's Creed Odyssey | |||
66 | Bleeding Edge | |||
62 | Bleeding Edge |
期望输出
Metascore | score AVG | score MAX | score MIN | game |
---|---|---|---|---|
87 | 85.3 | 87 | 83 | Assassin's Creed Odyssey |
86 | 85.3 | 87 | 83 | Assassin's Creed Odyssey |
83 | 85.3 | 87 | 83 | Assassin's Creed Odyssey |
66 | 64 | 66 | 62 | Bleeding Edge |
62 | 64 | 66 | 62 | Bleeding Edge |
有些标题只出现一次,有些出现多次。是否有我可以应用的公式或脚本循环遍历 table 并应用计算,或不同的输出建议?
感谢您的帮助!!
=UNIQUE(E2:E6)
E10
=AVERAGEIF($E:$E,$E#,A2:A6)
in A10
复制到右边。
或者一次性使用 LET
:
=LET(data,A2:E6,
game,INDEX(data,,5),
unique,UNIQUE(game),
CHOOSE({1,2,3,4,5},
AVERAGEIF(game, unique,INDEX(data,,1)),
AVERAGEIF(game, unique,INDEX(data,,2)),
AVERAGEIF(game, unique,INDEX(data,,3)),
AVERAGEIF(game, unique,INDEX(data,,4)),
unique))
编辑:
更改描述后,这是您需要的:
在B2
中使用:=AVERAGEIF(E2:E6,E2:E6,A2:A6)
在C2
中使用:=MAXIFS(A2:A6,E2:E6,E2:E6)
在D2
中使用:=MINIFS(A2:A6,E2:E6,E2:E6)
如果您将数据分为两列(比方说 A20:B20
)并且想要在其他地方进行汇总,您可以使用以下内容:
=LET(data,A2:B6,
game,INDEX(data,,2),
score,INDEX(data,,1),
unique,UNIQUE(game),
CHOOSE({1,2,3,4},
unique,
AVERAGEIF(game,unique,score),
MAXIFS(score,game,unique),
MINIFS(score,game,unique)))