制作 Excel 下拉菜单,如何自动去除列表区域中的跳空行和重复项?

文摘   职场   2025-01-21 19:00   上海  

公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!


点击上方蓝字 --> 点击“...”--> 选择“设为星标


制作下拉菜单的时候,如果列表区域内有空行怎么办?先删除空行?如果列表经常更新,经常会产生新的空行,难道每次都重新设置吗?


有些老读者说有套路公式?那如果空行都是间隔跳空的呢?套路公式未必能见效。


来看看我们今天的解法。


案例:


将下图 1 中 C 列的区域制作成下拉菜单,放在 A 列。要求去除区域中的空值和重复项,且不更改顺序。


效果如下图 2 所示。


解决方案:


要去除下拉菜单中的空值,有个套路公式 offset,但是,它只能解决连续的序列末尾多出来的连续空行,中间穿插空行则不行。


我们可以先验证一下 offset 公式。


1. 在 D1 单元格中输入以下公式 --> 下拉复制公式:

=OFFSET($C$1,,,COUNTA($C$1:$C$11))


公式释义:

  • 简言之,就是以 C1 单元格为起点,向下偏移行数为 C 列中的非空单元格数;

  • 本例中非空单元格数为 5 个,所以从“郑喜定”起,一共提取 5 行,这样就会包含其中的空单元格


2. 在 E1 单元格中输入以下公式 --> 向下拖动公式:

=OFFSET($C$1,,,SUMPRODUCT(N(LEN($C$1:$C$11)>0)),)


具体就不详解了,可以参阅 去除Excel下拉菜单中的空值和重复值


总之遇到跳空也是不行。


还有一个办法就是用万精油公式,也可以在上述链接中找到详解。但是很不推荐,因为下拉菜单设置的时候不能直接引用数组公式,且万精油很难理解,对于大部分同学来说不友好。何况随着 Excel 版本的升级,有越来越多的新函数可以替代万金油功能了。


下面是今天要讲的方法。



1. 选中 C 列的不连续列表区域 --> 选择菜单栏的“数据”-->“从表格”


2. 在弹出的对话框中保留默认设置 --> 点击“确定”


3. 在 PQ 中选择菜单栏的“主页”-->“删除行”-->“删除重复项”


4. 在 PQ 中选择菜单栏的“主页”-->“删除行”-->“删除空行”


5. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”


6. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“加载”


绿色的表格是整理好的菜单序列。


7. 按 Ctrl+F3,可以看到两个表格,其中绿色的表格对应的名称是“表1_2”,记住它。


8. 选中 A2 单元格 --> 选择菜单栏的“数据”-->“数据验证”-->“数据验证”


9. 在弹出的对话框中选择“设置”选项卡 --> 按以下方式设置 --> 点击“确定”:

  • 允许:选择“序列”

  • 来源:输入 =indirect("表1_2")


好了,下拉菜单设置好了。


这样设置的好处在于:如果 C 列的名单有更新,只要在 E 列的表格处刷新一下,A 列的下拉菜单会自动随之更新。


10. 在 C13 单元格中输入“aaa”。


11. 选中绿色表格的任意单元格 --> 右键单击 --> 在弹出的菜单中选择“刷新”


A 列的下拉菜单中自动新增了“aaa”。


转发、点赞、在看也是爱!

Excel学习世界
你遇到的所有 Excel 坑,我都帮你趟过了。
 最新文章