EXCEL中IF加上INDEX. 下面这个公式到底什么意思?

IF(ISERROR(VLOOKUP($A12,
TB!$A$1:$G$220,7,FALSE)), “0”, (INDEX(VLOOKUP($A12,TB!$A$1:$G$220,7,FALSE,0)))

这是一个错误的公式,因为INDEX函数第一个参数缺了,没有了指定返回数据的区域。
设公式者是希望达到这样的一个效果的:如果
VLOOKUP($A12,TB!$A$1:$G$220,7,FALSE)) 的结果是错误值(表示找不到要找的内容),就在当前单元格显示0(这里的零其实不需要用引号引着的,引着就表示是文本内容),如果不是错误值就通过INDEX函数返回某区域的某行上单元格的内容,至于返回的是哪一行,VLOOKUP($A12,TB!$A$1:$G$220,7,FALSE)) 的结果就是要返回的行。追问

专家,再问问你。
第二个vlookup的false之后又多了个0,这个公式错了吗。
如果要修正如何修正呢?

我琢磨这个公式琢磨的一个头两个大。

追答

哦,时呀,还看漏了眼了,这也是一个错误了。给你参考下:
=IF(ISERROR(VLOOKUP($A12,TB!$A$1:$G$220,7,)),0,INDEX(K:K,VLOOKUP($A12,TB!$A$1:$G$220,7,)))
如果前面的结果是错误,就通过INDEX函数返回K列上指定行的内容。另外,VLOOKUP函数中最后一个参数FALSE也可以什么都不输入的,这就默认为是FALSE的意思了。

追问

INDEX 里面的k:k是你任意举的例子对吧。

追答

是的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-14
如果A12单元格在TB表中A:G区域中找不到,则显示0,否则输出后面的值,但你这个公式是错误的。

1、中间的0应该是引文状态下的引号,输出的是文本型。
2、vlookup函数参数有问题,追问

如果修正如何修正?

追答

IF(ISERROR(VLOOKUP($A12,TB!$A$1:$G$220,7,0)),"0",VLOOKUP($A12,TB!$A$1:$G$220,7,0))

第2个回答  2012-08-14
EXCEL公式帮助里面都有详细的介绍和例子,可帮助你好好学习!
点插入函数,如图示,点击有关该函数的帮助.

或者在输入函数时,点提示的函数名也可以看到帮助。
第3个回答  2012-08-14
我感觉这个公式本来就是错误的,INDEX的参数不对啊,单把INDEX公式提出来根本不成立
第4个回答  2012-08-14
头都看大了
相似回答