欢迎您访问南京安优网络官方网站,本公司专注于:网站制作、小程序开发、网站推广。 24小时服务热线:400-8793-956
当前位置:南京网站制作公司 > 资讯中心 > 安优观点
区间查找大揭秘,原来还有此类需求
来源:南京网站制作 时间:2018-02-09 10:00:23

     最近也有很多小伙伴咨询过很多问题,但很多问题基本都是已经解答过的,所以我就挑选了一个没有见过的特殊需求,我在想一般应该也很少有此类需求。和今天要介绍的问题很类似就是从0~59分为Failed,从60~69为D,从70~79为C,从80~89为B,从90~100为A。一般是一列显示区间,如下图所示:

        解决此类问题,可以至少有6个方法。公众号前期介绍了Excel十大函数,就有详细介绍此类问题。但今天要介绍的问题是分开表示,如下图所示:

        通过上图可以看出,该区间给定了起始值和终止值,如果给定一个数字,对应哪个区间,就返回对应的姓名。需要得到的效果如下:

        其实看到这个问题,第一反应就是使用Index+Match进行获取姓名,首先拿上图A列的每一个值和起始值和终止值进行对比,如果能够同时达到要求,就表示该行对应的姓名就是我们需要找的。具体函数公式如下:
{=INDEX(表2!$C$2:$C$8,MATCH(1,(A2>=表2!$A$2:$A$8)*(A2<=表2!$B$2:$B$8),0))}
        该公式是一个数组公式,大括号不是直接输入的,而是通过Ctrl+Shift+Enter得到的,这个就不用多说了吧。其实上面的数组公式最重要的就是公式中标红的*,只有当同时符合在起始值和终止值的才符合要求。我们来单步演示一下,详见如下动态图:

        最后,解决该问题,怎么能少了VBA呢,其实代码也非常容易,我自定义了一个sutSearch函数,仿照vlookup函数的前三个参数,具体代码如下所示:
 
Function sutSearch(lookValue As Range, tableArray As Range, colIndex As Byte)
    Dim strlookValue As String
    Dim sutArray()
    Dim i As Integer
    strlookValue = lookValue.Value
    sutArray = tableArray
    For i = 1 To UBound(sutArray, 1)
        If strlookValue >= sutArray(i, 1) And strlookValue <= sutArray(i, 2) Then
            sutSearch = sutArray(i, colIndex)
        End If
    Next
End Function
 
        由于编写此代码的时间不超过2分钟,所以并没有考虑任何容错,但至少代码可以正常工作,代码演示如下:

        怎么样?是不是两种方法都相当容易呢?各位小伙伴如果有更加简单的方法,欢迎留言或加入QQ群进行交流哦。

本文地址:http://www.njanyou.cn/news/1629.html
Tag: 区间 查找 揭秘
专业服务:南京网站制作,南京网站制作公司,南京网站建设公司
联系电话:025-65016872
上一篇: 过年回家钱不够?春节8款赚钱项目,有执行力就能挣钱
下一篇: 妈妈再也不用担心我有僵尸好友了
最新案例
永银
永银
珠海跨境电商
珠海跨境电商
五颗星商城
五颗星商城
上海万客生鲜超市
上海万客生鲜超市
一九在线商城
一九在线商城
你可能感兴趣
小型企业平稳运营所需的 5 种软件类型
为什么每个人都在谈论 Advantage+ Creative
27 关于 Bing PPC 的统计数据
改善编程和 QA 之间协作的 4 种方法
您的网站给人留下第一印象:为什么好的网页设计对企业至关重要
网页设计和内容营销:最大限度地提高博客参与度的 6 个技巧
所有重要的 GA4 指标
ClickFunnels 与 Kajabi:详细比较
最后更新
打造直观体验:UX 和 UI 矩阵 了解 Advantage+ 定位 我们所知道的关于大规模谷歌算法泄漏的一切 如何撰写吸引受众注意力的营销电子邮件 如何使用数据抓取进行有效的竞争分析:分步指南 优化医疗保健提供商的 SEO 和在线形象:2024 年的最佳实践 Elementor:网站建设的首选(原因如下) 产品系列页面:提高电子商务转化率的设计策略
服务项目
南京网站制作 营销型网站 微信营销 IDC网站 精品案例