将VLOOKUP串联在一起

时间:2014-01-07 17:48:49

标签: excel excel-vba vba

我有以下公式

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

有效地总结与特定单元格中的单词(例如A1)相关联的VLOOKUP表中的值。目标是为包含可变数量的单词的字符串获取值的总和,其中每个单词具有特定值。例如,一个字符串可能包含4个单词而另一个字符串可能包含22.我想在VBA中找到一种方法,这样就可以编写足够的IF()语句来解释任何给定字符串的最大字数在我的字符串集中,Excel知道只需计数直到到达一个空单元格,对在非空单元格上进行的所有VLOOKUP的值求和,然后停止。有人能指导我如何做到这一点吗?

1 个答案:

答案 0 :(得分:4)

为什么不使用带有sumif的单个数组公式?

,而不是使用大量的vlookup

我创建了以下测试电子表格:

    A    B    C   D
1  xz    zt   bg
2
3  bg    12
4  xz    24
5  zt    55

要在下表中查找A-C的值并将它们的值相加,我在D列中使用了这样的公式:=SUM(SUMIF($A$3:$A$5,A1:C1,$B$3:$B$5))。确保 ctrl + shift + 输入所以这是一个数组公式,并且繁荣!你已经完成了。

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