【问题标题】:Total Sum of Vlookup CSV'd ArrayVlookup CSV'd 数组的总和
【发布时间】: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


【解决方案1】:

当我像这样简化它时很好

=ArrayFormula(sum(vlookup(V1:V3,Costs!N:O,2,0)))

但就像我说的那样,使用 SPLIT 可能会遗漏一些东西。

我已将 V:V 更改为 V1 到 V3,因为 VLOOKUP 在 V4 等中的空单元格上失败了。

编辑问题后,已包含 SPLIT,但现在这仅适用于单个单元格并给出答案 15:-

=ArrayFormula(SUM(vlookup(trim(split(V1,",")),Costs!$N:$O,2,0)))

V2等可以下拉

【讨论】:

  • 你好,汤姆,感谢您的回复,非常感谢!我非常抱歉错过了这个关键部分,我已经相应地更新了我的问题。我希望这更有意义! :)
  • Tom,您是否设法让您的最新编辑为您工作?正如我已经尝试过并尝试过以及尝试进行故障排除一样,无论我尝试什么,我仍然会收到#ERROR!不知道是不是我又解释不清楚了,哈哈!这个过程应该是我有一堆值在同一行,用逗号分隔(如 Apple、Banana、Carrot),并且必须在包含这些值的列中匹配,但它们都在一个新单元格中(N1 = 苹果,N2 = 香蕉,N3 = 胡萝卜等)并且与 O 列中的那些单元格相邻的是单一格式的值(1、2、3 等)
  • 对不起,我认为这是一个语言环境问题。当我从帖子中复制公式时,我遇到了同样的问题,但是当我将语言环境设置为英国并重新输入公式时,就可以了。似乎是引号惹恼了它。
  • 做到了!汤姆,你是个传奇人物,对你提供的解决方案进行了一些调整(你省了我几个小时的头痛,让我所有的痛苦变得有意义)任何值,所以它不会吐出错误!我已将解决方案添加为对我的问题的编辑,相应地归功于您并将您的解决方案标记为答案!再次感谢您!
  • 谢谢你的 cmets,你真好(尽管我用引号给你带来了更多的问题!)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
相关资源
最近更新 更多