如A1:A10,A1=A3=A5=A7=A9=a,A2=A4=A6=A8=A10=b,B1=10,B2=5,B3:B10为空值,如何在B3到B10中用公式查找并显示B3,B5,B7,B9=B1=10;B4,B6,B8,B10=B2=5。求大神指点,万分感激!
结果如图,公式:=IF(COUNTIF($A$1:A3,A3)>=2,INDEX($A$1:$B$2,MATCH(A3,$A$1:$A$10,0),2),"没有数据")
下拉填充就好!
追问求大神释义函数表达,谢谢!
追答=IF(COUNTIF($A$1:A3,A3)>=2,INDEX($A$1:$B$2,MATCH(A3,$A$1:$A$10,0),2),"没有数据")
公式的解释,第一步:
当这个函数COUNTIF($A$1:A3,A3)>=2,成立时候,
(也就是从A1这个位置开始查找A3这个数据出现的次数,如果次数大于或者等于2),
就执行后面的index函数,如果次数小于2就显示“没有数据”。
其中A1是绝对引用,表示下拉公式时候也是从A1位置开始查找,而A3没有绝对引用,是随着公式下拉变化的,例如当下拉填充到A4单元格时候,公式中的A3就变成A4.
第二步,再解释函数,INDEX($A$1:$B$2,MATCH(A3,$A$1:$A$10,0),2)
在第一步的函数成立条件下,返回数据区域($A$1:$B$2)中的指定行号和列号的数据,指定了行号和列号,数据就确定了,
行号的确定:MATCH(A3,$A$1:$A$10,0),公式确定行号,就是A3在区域$A$1:$A$10的位置,
列号的确定:指定列号 2,就是第二列。
有疑问可以继续讨论!
追问感谢大神,已学习。没想到index能定位单元格,match能定位第一次出现的位置,大神行家呀,以后还要多多请教,谢谢!