夜雨聆风学习资料网

ARTICLE · 1320579

Excel表格零代码做商品搜索查询系统

Excel表格零代码做商品搜索查询系统
做商品管理时,经常会遇到需要按关键词搜索查找商品的情况。如果直接在商品信息表上筛选,很容易不小心修改原表数据。
今天给大家分享一个不用VBA、不用插件,只用excel公式就能制作商品搜索查询的方法,既不会影响原表,也能返回要查找的商品信息。
使用方法是:只需一个关键词,就可以搜索并整理出所有包含该关键词的内容。
首先准备好商品信息表:
接下来,在商品信息表右侧制作搜索查询区域
复制表头部分粘贴到右侧,预留出J3单元格输入关键字
接着在M3单元格输入公式:=COUNTA(I6:I500)
这个公式的目的是统计查询到的商品数量。
然后在I6单元格输入以下公式,按回车:
=FILTER(A3:G101,BYROW(A3:G101,LAMBDA(X,OR(ISNUMBER(FIND(J3,X))))))
这个公式到底是干嘛用的?
下面来给大家一层一层拆分:
第1层:在I6单元格中输入公式:=FIND(J3,A3:G3)
J3是要搜索的关键字,A3:G3是搜索范围。
这个公式的目的是找出关键字在搜索区域的位置,查找不到关键字时返回#VALUE!
第2层:在FIND外面嵌套ISNUMBER函数
=ISNUMBER(FIND(J3,A3:G3))
ISNUMBER函数的作用是判断参数是不是数字:
1.当单元格包含关键字,FIND的结果是数字,则ISNUMBER返回TURE
2.当单元格不包含关键字,FIND的结果是#VALUE!,ISNUMBER返回FALSE
第3层:在ISNUMBER函数外面嵌套OR函数
=OR(ISNUMBER(FIND(J3,A3:G3)))
这个公式的作用是:
1.如果当前这一行里,任意一个单元格包含关键字,OR就返回TRUE;
2.如果这一行所有单元格都不包含关键字,OR才返回FALSE。
第4层:在OR函数外面嵌套BYROW函数
=BYROW(A3:G101,LAMBDA(X,OR(ISNUMBER(FIND(J3,X)))))
在查询条件填写:牙膏,会出现TURE/FALSE两种结果
这个公式的逻辑是:
1.BYROW 会一行一行地处理 A3:G101;
2.每一行传给LAMBDA的参数X;
3.LAMBDA里的计算式是 OR(ISNUMBER(FIND(J3,X))),即“这一行里有没有任意一个单元格包含 J3”;
4.最终BYROW返回每一行的 TRUE/FALSE。
这里的 LAMBDA(X, ...) 就是在告诉 BYROW:“对每一行 X,请按这个逻辑算。”
LAMBDA用来“现场定义一个自定义函数”,一段计算逻辑打包成一个可重复使用的函数,它经常配合BYROW、BYCOL、MAP这些“高阶函数”使用,告诉它们“对每一行/每一列/每个元素具体做什么计算”。
第5层:最后在BYROW函数外面嵌套FILTER函数
FILTER是筛选函数,把包含关键字的行提取出来
A3:G101是要提取的数据区域
BYROW函数是提取条件
最后,让查询到的内容自动显示边框
步骤:选中单元格区域 → 开始 → 条件格式 → 新建规则 → 选择“使用公式确定要设置格式的单元格”,输入公式:=I6<>"" → 格式 → 边框 → 设置颜色和外边框 → 确定。
这样,当查找返回内容时,边框会自动显示。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料