Vlookup CSV'd数组的总和

时间:2015-07-27 07:34:23

标签: excel csv split sum vlookup

所以我在过去一小时左右的时间里一直试图想出这个,但我似乎无法做到正确......

首先,这是我正在使用的公式:

=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列中查找的SUM,而不仅仅是拆分单个值。

所以我理想的输出是:

15

关于我可以改变什么的任何想法?我试着在公式中添加SUM,但却无法正确计算。

我显然需要这个来处理第V列中任何特定顺序的值,因为它们并不总是按顺序排列,尽管Costs!N:O中的值将始终保持不变(因为它是查阅列)。

提前感谢您提供的所有帮助!我希望我已经足够清楚,如果没有,请随意编辑我的问题。

解答:

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

感谢Tom Sharpe提出我的问题的解决方案!我只是编辑了他的解决方案以处理空白值,因此单元格保持为空而不是抛出可怕的“#ERROR!”信息。所有功劳归于他! :)

1 个答案:

答案 0 :(得分:1)

当我像这样简化它时,很好。

<div class="stone-group">
  <div class="stone-group-handle">
    30
  </div>
  <div class="stones-wrap">
    <div class="stone">
    </div>
    <div class="stone stone2">
    </div>
    <div class="stone stone3">
    </div>
  </div>
</div>

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

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

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

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

它可以下拉为V2等。