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