第57天知识点:模糊匹配
当合并的依据字段是客户ID、商品编码等这样精确的字段时,我们可以通过左右合并来实现将A表中的内容匹配至B表中。
但当合并的依据字段不再是某一个精确字段,而是某一区间时,左右合并功能便不再生效。
![](https://hwobs-sq.fanruan.com/shequ_forum/image/0af034d7c68fb16537d07b3a45ae2830.png)
这个时候我们该怎么办呢?
比如:
这些根据区间值设定标签的场景日常工作生活中都很常见。
但如何通过判断数值落在哪一区间,以此来获得对应的标签呢?
在Excel中,通常会使用IF函数或者模糊匹配的方法去实现。
IF函数很简单,但也有个缺点,就是当设置的区间比较多的时候,IF函数写起来会比较繁冗而且后期会比较难维护。
所以一般我们会更倾向于使用模糊匹配来解决这个问题。
案例
我们准备了两张数据表。
一张是学生成绩表,这张表记录了每个学生的语文成绩。
一张是评级表,这张表记录了不同的成绩区间对应的评级。
![](https://hwobs-sq.fanruan.com/shequ_forum/image/a65c1d114758c15e32ff76b6ad37cc4e.png)
现在需要将根据学生的成绩匹配出该成绩对应的评级。
模糊查询的话,我们需要提前做一点准备工作:
制作一张辅助评级表。
![](https://hwobs-sq.fanruan.com/shequ_forum/image/dfa7e35d8a343b587d12235043e73399.png)
注意,这里的临界值一定要按照从小到大的顺序升序排序!!!
否则,模糊匹配结果会出现错误。
接着,就可以进行模糊匹配了。这里我们使用2种方式:
1、VLOOKUP函数
![](https://hwobs-sq.fanruan.com/shequ_forum/image/dc49f2f16c3e6f3f69fef698b9387683.png)
C3是学生的分数;
G3:H7是不同分数区间对应的评级,也就是辅助评级表区域;
2表示返回辅助评级表中的第2列也就是【评级】列。
一般,VLOOKUP会有4个参数,但模糊匹配时,第四个参数可以省略或者输入1。
2、LOOKUP函数
![](https://hwobs-sq.fanruan.com/shequ_forum/image/76768d2af90a0f6e62ceddf974907014.png)
C3是学生的分数;
可以看到,2中计算方式得到的结果都是一样的。
这是在EXCEL中的处理方法。
但在FineBI中,并没有模糊匹配这个功能,那该如何实现这个效果呢?
非常简单。
只需要一步新增赋值列。
![](https://hwobs-sq.fanruan.com/shequ_forum/image/33a3f2565254deb0af5f1c1db56a1110.png)
结果如下:
![](https://hwobs-sq.fanruan.com/shequ_forum/image/7ec6c3a6dd5b416d9736c8b72fa2b724.png)
省去了写公式的烦恼,只需要输入数据区间就可以实现模糊匹配了。
当然,不止判断学生评级,只要涉及到对数据进行区间分组其实都可以通过这个方式来实现。
小结
无论是Excel还是FineBI,都有方法来处理区间匹配问题。
Excel通过VLOOKUP函数或LOOKUP函数结合辅助表的方式实现了灵活的数据处理;
而FineBI通过“新增赋值列”功能简化了操作流程,让数据处理变得更加高效和直观。
无论你选择哪种工具,只要掌握了正确的方法,都能轻松应对各种复杂的区间匹配场景。
感兴趣的小伙伴可以自己动手试试看~ |