【发布时间】:2015-07-27 07:34:23
【问题描述】:
所以过去一个小时左右我一直在尝试解决这个问题,但我似乎无法正确解决......
首先,这是我正在使用的公式:
=ArrayFormula(join(", ",vlookup(transpose(trim(split(V:V,","))),Costs!N:O,2,0)))
第 V 列中的项目包含基于用户选择的值,最多有 10 个选择,但为了举例,它们可能会显示为:
Apple, Banana, Carrot, Date, Elderberry
Apple, Banana
Apple, Date, Elderberry
Carrot, Date
在 N 到 O 列的成本表中,我们有以下值:
Apple 1
Banana 2
Carrot 3
Date 4
Elderberry 5
现在使用上面的给定公式,我在包含公式的单元格中的输出会根据 V 列中的初始值而有所不同,但作为使用第一个单元格值的示例:
1, 2, 3, 4, 5
我遇到的问题是,我希望这些值成为 N 到 O 列中查找的总和,而不仅仅是拆分单个值。
所以我的理想输出应该是:
15
关于我可以改变什么的任何想法?我尝试将 SUM 添加到公式中,但始终无法正确计算。
我显然需要它来处理 V 列中任何特定顺序的值,因为它们并不总是按该顺序排列,尽管 Costs!N:O 中的值将始终保持不变(因为它是查找列)。
提前感谢您提供的所有帮助!我希望我已经足够清楚了,如果没有,请随时相应地编辑我的问题。
回答:
=IFERROR(ArrayFormula(SUM(vlookup(trim(split(V:V,",")),Costs!$N:$O,2,0))),"")
感谢 Tom Sharpe 提出解决我的问题的方法!我只是编辑了他的解决方案来处理空白值,因此单元格保持为空,而不是抛出可怕的“#ERROR!”信息。所有的功劳都归于他! :)
【问题讨论】:
-
我无法弄清楚您为什么要使用 SPLIT,因为 V 列中似乎没有任何逗号?
标签: excel csv split sum vlookup