Excel如何将ROW(OFFSET)公式结果代入UNIQUE实现动态取值 无需VBA?
结论
不需要使用VBA,用Excel原生公式即可实现动态范围取值的需求。
具体实现方案
方案1:按你现有思路直接实现
用INDIRECT函数将拼接的文本地址转换为可被公式识别的单元格引用,最终公式为:=UNIQUE(INDIRECT("A1:A"&ROW(OFFSET(A1,COUNTA(A:A)-1,0))))
提示:该方案用到的
OFFSET、INDIRECT属于易失性函数,数据量较大时可能会提高计算负载。
方案2:高版本Excel优化方案(适用于Excel 365/2021及以上)
不需要单独计算最后一行行号,直接用TOCOL函数自动过滤A列空值,公式更简洁,计算效率更高:=UNIQUE(TOCOL(A:A,1))
公式中TOCOL的第二个参数1代表跳过所有空单元格,A列新增、删除数据时公式会自动调整取值范围,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者ClaudioM
相关产品推荐
相关产品推荐

