如何锁定数据验证列表的E1起始位置?插入列后不偏移
解决Excel数据验证列表固定起始为E1的问题
直接用带$的绝对引用之所以无效,是因为Excel的绝对引用绑定的是单元格的位置,而非列标名称。在E1前插入列后,原来的E1会自动变成F1,引用也会跟着偏移,自然无法包含新的E1。
解决核心是用INDIRECT函数通过文本形式的列标引用锁定起始位置,具体操作如下:
打开数据验证的「序列」设置界面,将原来源公式替换为:
=INDIRECT("E1:"&ADDRESS(1,COLUMNS(1:1),4))这个公式的作用:
INDIRECT("E1")会始终解析为当前表格的E1单元格,不受插入列影响ADDRESS(1,COLUMNS(1:1),4)自动获取第一行最后一个有数据的单元格地址,保证序列覆盖所有向右延伸的日期
如果你的日期序列是连续无空值的,也可以用更简单的写法:
=INDIRECT("E1:XFD1")XFD是Excel的最大列标,该公式会直接包含E1到第一行最后一列的所有数据,插入列后新的E1数据会自动加入列表
设置完成后,在E1前插入新列并添加日期,数据验证列表就会自动包含新的E1单元格内容,不会再偏移。
内容的提问来源于stack exchange,提问作者Inuity_
相关产品推荐
相关产品推荐

