Excel/Google Sheet:编写获取下一个不同值的单元格公式需求
解决方案:检索A列下方第一个不同值的Excel公式
嘿,这个需求我经常碰到,给你两个适配不同Excel版本的公式方案,完全符合你的要求:
方案1:适用于Excel 365/2021(支持动态数组)
直接用XLOOKUP函数,写在B2单元格即可,公式简洁又直观:
=XLOOKUP(TRUE,A3:A<>A2,A3:A,"无后续不同值")
公式说明:
A3:A<>A2:生成一个布尔数组,标记当前单元格(比如A2)下方所有单元格中,哪些值和当前值不同XLOOKUP会定位到第一个TRUE对应的A列单元格,返回其内容- 最后一个参数
"无后续不同值"是当当前值下方全是相同值时的返回文本,你可以根据需要修改
方案2:适用于旧版Excel(不支持动态数组)
用INDEX+MATCH+OFFSET的组合公式,同样写在B2单元格:
=IFERROR(INDEX(A:A,MATCH(TRUE,OFFSET(A2,1,0,ROWS(A:A)-ROW(A2),1)<>A2,0)+ROW(A2)),"无后续不同值")
公式说明:
OFFSET(A2,1,0,ROWS(A:A)-ROW(A2),1):提取当前单元格下方的所有A列数据MATCH(TRUE,...<>A2,0):找到第一个和当前值不同的单元格在提取区域中的位置INDEX(A:A,...+ROW(A2)):把位置转换为工作表的绝对行号,取出对应的值IFERROR用来处理“下方全是相同值”的情况,返回自定义提示文本
验证示例:
当A2=1、A3=2时,B2返回2;当A3=2、A4=2、A5=3时,B3返回3,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者leohoward
相关产品推荐
相关产品推荐

