数据场景
![81bef58013479f04b3901d1442267bf2.png](https://i-blog.csdnimg.cn/blog_migrate/814666c5938c94ee4ef0a0e5517025fa.jpeg)
![78fe752c5a914be07aa866dfe7a86c9e.gif](https://i-blog.csdnimg.cn/blog_migrate/4da6ab6e17315980ae6e0fd1e915ef63.gif)
![f6b872ba5f001fb74e74655211010426.gif](https://i-blog.csdnimg.cn/blog_migrate/1727dacdca8e46e578757adb2387e463.gif)
Function Look(Value1, ByVal Range1 As Range, ByVal num As Integer) If Value1 = "" Then Exit Function If Range1.Columns.Count > 1 Then Exit Function For Each D In Range1 If D.Value Like Value1 Then c = c + 1 If c = num Then v1 = D(1, 1) Exit For End If ElseIf IsEmpty(D) Then Exit For End If Next If v1 = "" Then v1 = "" Look = v1End Function
步骤二:制作辅助列表
制作辅助列表之前要先准备好项目清单,即需要下拉菜单中包含的所有项目的列表。
这里我们准备好了商品清单作为演示,如下图所示:
![be2bd7fafed6df8df3be1bb0aee209a5.png](https://i-blog.csdnimg.cn/blog_migrate/1696843287124307e3d99a1abc4c8bd1.png)
![b36290b441a2a557d019e215fc914698.gif](https://i-blog.csdnimg.cn/blog_migrate/bdc8a6d2771fdcecd324b1c2e6312471.gif)
这里只是先写个例子,公式还需进一步加工。首先介绍一下Look函数的用法。
参数1: 要查找的值(要查找什么?) 参数2: 要查找的值所在的列(在哪里查找?) 参数3: 要查找第几个值? 公式:=look("*计划*",$A$2:$A$40,ROW(A1)) "*计划*"表示查询的值包含计划二字,为Look函数的第一参数 $A$2:$A$40 为Look函数的第二参数,表示要查找的值所在的列,这里需要绝对引用,防止因公式下拉导致范围变动。 ROW(A1)为Look函数的第三参数,获取A1单元格的行号,结果为1,随着公式的下拉,ROW(A1)变成 ROW(A2),ROW(A3),ROW(A4)...... ,这样就能找到第一个值,第二个值,第三个值......第N个值。 这个公式是很好理解,可是不够灵活,有需要改进的地方。 改进一:要查找的关键字不是计划,而是在单元格内输入的内容,应该怎么办呢? 这个时候我们用cell函数。将 "*计划*" 替换为 "*"&Cell("Contents")&"*" Cell("Contents")解析: 获得鼠标所在(或当前选中)的单元格的内容,如果选中的是一个区域,只返回该区域左上角的单元格内容。 改进二:查找的范围$A$2:$A$40 被固定死了,如果新增项目,不会自动扩展。 范围的起始点A2单元格不变,A40单元格要根据商品清单的个数自动变化,也就是40需要变成一个变量,于是我们把范围改成这样: "$A$2:$A$"&COUNTA(A:A) COUNTA(A:A)用来计算A列的不重复个数,随着列表的增加,这个值也会相对变化。 可是这样处理过后的范围变成了一个文本字符串,不再是一个单元格引用,这该怎么办呢? 我们可以在外面套一个INDIRECT函数,把文本字符串类型的地址,转换成真正的单元格引用,可以写成这样: INDIRECT("$A$2:$A$"&COUNTA(A:A) ) 经过这样的改造,公式就灵活多了,最终的公式: =Look("*"&CELL("contents")&"*",INDIRECT("$A$2:$A$"&COUNTA(A:A)),ROW(A1))![eaaf5ace5eb60650136254734da07594.png](https://i-blog.csdnimg.cn/blog_migrate/9ba05154a18de6f073849e89eeb1b803.jpeg)
![3ac81079be0c4c2a65878aa19430da17.gif](https://i-blog.csdnimg.cn/blog_migrate/3aa623cd23b6e446f23fcf1393cb7b40.gif)
![6c51b404abdac5147b54d85aa0b9f005.png](https://i-blog.csdnimg.cn/blog_migrate/677add8ffc636c1879b5c391ad38a881.png)
PPT课程地址:http://t.cn/Rm4oVdo
Excel课程地址:http://t.cn/Rm4oCLR
关联阅读:
新、老、离职员工名单只要刷新一下就能轻松获取|Excel125
如此不规则的数据是该好好整治整治了!|Excel124
批注操作,游刃有余,批量导出 So Easy!|Excel123
打开这篇文章之前,无法想象条件格式能带给我们什么惊喜|Excel122
白送一个提取不重复值的函数给您|Excel121
逆天啦!Excel居然能按颜色统计|Excel120
别不信,学会这几个函数能帮你省下一天的时间!|Excel119
结构大反转简直逆天,PQ超乎你的想象|Excel118
对筛选结果按条件计数,这招很冷但管用!|Excel117
仪表板可视化速成大法,3分钟就能搞定!|Excel116
还在用Excel做数据分析报告吗?PowerBI已经被众星捧月|Excel115
……
更多技能分享请您后台回复「目录」查看
福利关键词:70、PNG、地图、姜饼人、图标、样机、手、试看、试听、封面、封底、排版、图表、目录页、过渡页、标题栏,后台回复有惊喜哦!
布衣公子《揭秘Excel真相》课程原价299
前5000人惠顾仅需199元
单击了解>>《揭秘EXCEL真相》课程详情
▼