我有一个 Google Sheet 公式,旨在从一系列列中提取前 5 个值,按列分隔显示每个值,将它们计算为参考列的百分比,并附加每个百分比所来自的列的名称。公式如下:
=TEXTJOIN(", ", TRUE, ARRAYFORMULA(INDEX(C$1:AE$1, MATCH(LARGE(C2:AE2, SEQUENCE(5, 1)), C2:AE2, 0) + COLUMN(C2) - 3) & ": " & ROUND(LARGE(C2:AE2, SEQUENCE(5, 1)) / AH2 * 100, 2) & "%"))
拉取
values
可以正常工作,但它会在每个百分比前面附加 “ColumnC” 的名称,而不是值所在的列标题。
例如:返回的结果应该是这样的:
“苹果:20%,橙子:15%,柠檬:12%,香蕉:10%,葡萄:7%”
但它返回:
“苹果:20%,苹果:15%,苹果:12%,苹果:10%,苹果:7%”
有没有办法解决这个问题,以便它提取每个 % 所属的适当的列标题名称?
谢谢!
编辑:示例数据看起来像这样,抱歉,如果我第一次尝试将其汇总起来:
代码 | 水果名称 | 苹果 | 香蕉 | 桃子 | 梨子 | 柚子 | 李子 | 葡萄 | 芒果 | 西瓜 | 柠檬 | 石灰 | 普通话 | 菠萝蜜 | 蓝莓 | 菠萝 | 猕猴桃 | 博森莓 | 图 | 荔枝 | 血橙 | 木瓜 | 百香果 | 哈密瓜 | 塞尔维亚语 | 蔓越莓 | 樱桃 | 克莱门汀 | 柿子 | 萨摩 | 覆盆子 | 哈密瓜 | 总水果 | 前5名 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
10001 | #不适用 | 12 | 3 | 0 | 0 | 0 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 33 | 苹果:36.36%、苹果:30.3%、苹果:24.24%、苹果:9.09%、苹果:0% |