INDEX(B1:B16,MATCH(,COUNTIF(E1:E1,B1:B16),))

问题描述:

INDEX(B1:B16,MATCH(,COUNTIF(E1:E1,B1:B16),))
求解此函数的意思,其最终目的是求不重复的值.其中MATCH(,COUNTIF(E1:E1,B1:B16),)这个函数我不是太明白,
MATCH语法:MATCH(lookup_value,lookup_array,match_type).
但是他为什么把lookup_value这部分都省略了呢?
1个回答 分类:综合 2014-12-12

问题解答:

我来补答
省略了就是0
很多函数在参数省略时,系统会自动以0代替,另外0还可以作为逻辑值FALSE使用,比如你这个公式中省略的第3个参数match_type
再问: 但是0在这里不对啊,比如我B1:B16中的值是a s d d r s e w q e r d a d d r 然后我在E2中输入上述公式就是a,请问是怎么运算的?谢谢
再答: COUNTIF(E1:E1,B1:B16)返回B1:B16中每个值在E1出现的次数 具体到你给出的这些值,它返回数组{1;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0} 在这个数组里match精确匹配第一个0的位置,所以match返回数字2. 至于你说的"然后我在E2中输入上述公式就是a,请问是怎么运算的?" 这个我无法回答你,因为我不知道你是如何用match得到a的. btw:数组公式在输入时要按ctrl+shift+enter完成
再问: 你好,谢谢你的解答,我的表格是那样的,B列是我的数据,E列是我输入公式所得得结果。公式依次为:E2=INDEX(B1:B16,MATCH(,COUNTIF(E1:E1,B1:B16),));E3=INDEX(B1:B16,MATCH(,COUNTIF(E1:E2,B1:B16),));……=INDEX(B1:B16,MATCH(,COUNTIF(E1:E1,B1:B16),));到E9就没有了,我有输入数组ctrl+shift+enter
再答: 公式不用输的那么辛苦 E2 =INDEX(B$1:B$16,MATCH(,COUNTIF(E$1:E1,B$1:B$16),)) ctrl+shift+enter后向下填充即可 选择e3公式中的countif()部分按下F9看看它返回的数组是什么,想想为什么. 在选择e4看看,想想
 
 
展开全文阅读
剩余:2000
上一页:
下一页:判断题。