串起VLOOKUPs

我有以下公式

=SUM(IF(A1<>"",VLOOKUP(J3,M3:N7,2,FALSE),0),IF(...),IF(...),...) 

这有效地总结了与特定单元(例如A1)中的单词相关联的VLOOKUP表中的值。 目标是获得包含可变数量的单词的string的值的总和,其中每个单词具有特定的值。 例如,一个string可能包含4个字,而另一个string可能包含22个字符。我想找出在VBA中这样做的一种方法,以便不用编写足够的IF()语句来说明任何给定string的最大字数在我的string集合中,Excel知道直到达到一个空单元格为止,计算所有在非空单元格上进行的VLOOKUP值,然后停止。 任何人都可以引导我如何做到这一点?

而不是使用大量的vlookups,为什么不使用sumif单个数组公式?

我创build了以下testing电子表格:

  ABCD 1 xz zt bg 2 3 bg 12 4 xz 24 5 zt 55 

为了在下面的表格中查找AC的值,并将它们的值相加,我在列D中使用了一个像这样的公式: =SUM(SUMIF($A$3:$A$5,A1:C1,$B$3:$B$5)) 。 确保按Ctrl + Shift + Enter ,这是一个数组公式,并繁荣! 你完成了。

即使在AC列(或者你可能有很多)中包含数据的可变数量的单元格时,这也可以完美地工作。唯一需要注意的是假定每个单词在查找表中只有一个条目,但是我想这是一个安全的假设。 长话短说,没有必要为此进入VBA。