【问题标题】:Finding the closest 3 values with a criteria使用条件查找最接近的 3 个值
【发布时间】:2021-11-15 10:57:12
【问题描述】:

我有一份员工名单,上面写着姓名、部门和工作年限

Name    Department  Years of Experience
John    HR                  5
Mary    Finance             12
Tom     HR                  6
Dick    Finance             11
Sally   HR                  8
Harry   Finance             10
Tim     HR                  8
Duke    Finance             9
Simon   HR                  9
Dolly   Finance             2

Reference to the list of Employees

我想写一个公式,我可以输入部门和工作年限作为搜索条件 - 例如:“HR”和“6” Input Criteria

Search Department:  HR
Years of Experience:    6

我希望得到的结果是姓名、部门和工作年限,根据员工的经验与搜索部门的接近程度排序。

例如:我搜索了“HR”和“6”,结果会排序: Displaying of Results

Name    Department  Years of Exp
Tom        HR            6
John       HR            5
Sally      HR            8
Tim        HR            8
Simon      HR            9

【问题讨论】:

  • 你有 FILTER 和 SORTBY 吗?那么这就是你所需要的。
  • 是的,我确实有 FILTER 和 SORTBY,我应该如何编写公式?感谢您的及时回复:)

标签: excel excel-formula excel-365


【解决方案1】:

数组公式:

=IFERROR(INDEX(A:A,RIGHT(SMALL(IF($B$2:$B$11="HR",($C$2:$C$11-6)^2/1%%+ROW($2:$11)),ROW(A1)),2)),"")

【讨论】:

    【解决方案2】:

    这很容易做到,使用 Excel 的自动筛选基本功能,为什么不使用它:

    【讨论】:

      【解决方案3】:

      O365 的选项:

      =LET(sorted,SORTBY(A2:C11,ABS(C2:C11-G2),1),FILTER(sorted,(INDEX(sorted,0,2)=G1)*(INDEX(sorted,0,3)>=G2-3)*(INDEX(sorted,0,3)<=G2+3)))
      

      【讨论】:

        【解决方案4】:

        尝试使用 FILTER 函数获得公式 只需更改应用于工作表的范围

        =FILTER(B22:D32,C22:C32="HR")
        

        【讨论】:

        • 你看到 OP 想要如何对列进行排序了吗?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-06-25
        • 2021-06-18
        • 2023-02-07
        • 2010-09-14
        • 1970-01-01
        • 2021-02-16
        • 2013-03-01
        相关资源
        最近更新 更多