|
问题:向上查找同一列中上面最近的相同数,取相同数下面的两个数,问题关键是数据所在列是动态更新增加数据的。
原公式=OFFSET(Sheet2!B1,LARGE(IF(LOOKUP(B6,Sheet2!B3:B31)=Sheet2!B3:B31,ROW(Sheet2!B3:B31),0),2),,2) 想对公式进行改进,适合动态增加数据的需要,
新公式=OFFSET(Sheet2!B1,LARGE(IF(LOOKUP(B6,"Sheet2!"&"B"&MATCH(A6,Sheet2!A:A,0)-COUNT(Sheet2!B:B)+1&":"&"B"&MATCH(A6,Sheet2!A:A,0))="Sheet2!"&"B"&MATCH(A6,Sheet2!A:A,0)-COUNT(Sheet2!B:B)+1&":"&"B"&MATCH(A6,Sheet2!A:A,0),ROW("Sheet2!"&"B"&MATCH(A6,Sheet2!A:A,0)-COUNT(Sheet2!B:B)+1&":"&"B"&MATCH(A6,Sheet2!A:A,0)),0),2),,2)
得到首行地址 B3="B"&MATCH(A6,Sheet2!A:A,0)-COUNT(Sheet2!B:B)+1 考虑以后可能在最上面插入其它行,用这种方法实现动态得到首行
得到A6行所在地址 B31="B"&MATCH(A6,Sheet2!A:A,0) 数据所在列是动态更新增加数据的,用这种方法实现动态得到尾行
综合上面的,想用此公式替换Sheet2!B3:B31不知可行吗?我试了出错。
Sheet2!B3:B31="Sheet2!"&"B"&MATCH(A6,Sheet2!A:A,0)-COUNT(Sheet2!B:B)+1&":"&"B"&MATCH(A6,Sheet2!A:A,0)
因为每次要查找的区域是:首行到当前要找的值对应的行之间
|
|