基于UNIQUE函数:定位首空单元格并排除其上末非空单元格
Excel公式修改:提取指定范围的唯一值并排除特定单元格
问题描述
原公式 =UNIQUE(AV6:INDEX(AV:AV, MATCH(2, 1/(AV:AV<>""), 1)-1)) 仅在AV列下方无后续数据时能正常提取唯一值并排除最后一个非空单元格,但当AV6开始的第一个空单元格下方仍有数据时会失效。需要修改公式满足以下要求:
- 从AV6开始查找列中第一个空单元格
- 排除该空单元格上方的最后一个非空单元格,忽略空单元格下方所有数据
- 生成该范围内的唯一值列表
解决方案
修改后的公式
=IFERROR(UNIQUE(AV6:INDEX(AV:AV, MATCH(TRUE, AV6:AV1048576="", 0)-2)), "")
公式拆解
MATCH(TRUE, AV6:AV1048576="", 0):精准定位AV6开始的第一个空单元格的行号,AV1048576是Excel的最大行号,确保覆盖所有可能的单元格-2:将范围结束位置调整到第一个空单元格的前两行,从而排除空单元格上方的最后一个非空单元格INDEX(AV:AV, ...):动态锁定目标范围的结束行,保证范围仅包含AV6到指定行的内容UNIQUE(...):提取该范围内的所有唯一值IFERROR(..., ""):处理边界情况(比如AV6本身就是空单元格),避免公式返回错误值
内容的提问来源于stack exchange,提问作者user14915635
相关产品推荐
相关产品推荐

