ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1014|回复: 0

[分享] 利用公式联想数据有效性录入

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-4-26 11:36 | 显示全部楼层 |阅读模式
本帖最后由 f8b1987 于 2021-4-26 11:59 编辑

image.png
缺点:不完美,输入一部分文字后,需要手动点击三角下拉选择存在关联文字的选项,不能像VBA一样可以自动显示联想内容。

优点:可以去掉无关的数据有效性下拉选项,简化下拉框内容,避免手工输入名称不完整;操作简易,不像VBA代码修改代码需要了解代码结构。
补充:xlsx格式下容易卡,大概是引用整列的原因,建议另存为xls格式使用,或者自行优化公式引用范围。
利用公式进行数据有效性联想录入.zip (9.36 KB, 下载次数: 19)

第一步:
制作好所有名称列表,存放在某个位置
image.png

第二步:
设定B1单元格为录入内容所在位置,C列用于提醒是否录入了完整名称,D列为辅助列用于提取模糊联想的所有结果
image.png

第三步:
设置B1单元格数据有效性
image.png
公式为以下,注意如果辅助列变化就修改D:D
  1. =OFFSET(D1,,,SUM(IF(LEN($D:$D)>1,1,0)))
复制代码
选择B1单元格时的操作提醒设置
image.png
录入简称时,允许预先录入
image.png

第四步:
C1单元格公式
  1. =IF(ISERROR(VLOOKUP(B1,G:G,1,)),"尚未录入正确名称","")
复制代码
第五步:
D列数组公式
  1. =IF(OR(B$1="",INDEX(G:G,LARGE(IF(IFERROR(FIND($B$1,G:G),0),ROW(G:G),0),ROW(A1)),1)="公司名称"),"",INDEX(G:G,LARGE(IF(IFERROR(FIND($B$1,G:G),0),ROW(G:G),0),ROW(A1)),1))
复制代码
公式中的G:G是公司全称所在列,如果位置不一样,可以自行修改;引用的是$B$1单元格,位置变化也可以修改。"公司名称"是标题名称,如果标题变化,也可以修改。


以上完成了所有操作。
手工录入“深圳”,点击小三角,显示如下
image.png
因为没有完成录入,所以C1提醒“尚未录入正确名称”
我们选择一个全名,结果如下
image.png





您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 15:12 , Processed in 0.042533 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表