【问题标题】:How to categorize/classify numbers from different ranges using Excel?如何使用 Excel 对来自不同范围的数字进行分类/分类?
【发布时间】:2017-03-13 22:42:10
【问题描述】:

我想将 [0:15] 中的数字分类为 5 类:A, B, C, D, E, F

规则:

0-1: Class A
2-4: Class B
5-7: Class C
8-10: Class D
11-13: Class E
14-15: Class F

解释:如果数字在[0:1]范围内,则归类为A;如果一个数字在 [2:4] 类是 B,依此类推。


示例输出:


我知道它可以用多个IFs 来完成,但我很难弄清楚一个公式会是什么样子,尤其是区分不同的数字范围。

【问题讨论】:

  • 使用 VLOOKUP。创建一个表,其中一列中的最小值和另一列中的类。然后使用 VLOOKUP 并将第四个标准设为 true。

标签: excel excel-formula vlookup worksheet-function multiple-conditions


【解决方案1】:

我不建议使用嵌套的IFs - 无论如何,出于道德原因,我通常反对这种方法,但它也很难维护。我建议使用VLOOKUPINDEX(MATCH 结构。

我们将以您的规则为例并稍作修改:

Min |  Class
--------------
0   |  Class A
2   |  Class B
5   |  Class C
8   |  Class D
11  |  Class E
14  |  Class F

现在,假设您的最大值位于表 2 的 A 列中,我们将在输出的“类”列中使用以下公式:

=VLOOKUP($A2,Sheet2!$A$1:$B$7,2,TRUE)

这样做的好处是更容易维护和阅读。

【讨论】:

  • 非常真实,我的大脑被捣碎了,我在想 MATCH。已编辑。
【解决方案2】:

这是一个 long IFS,有几个类似的条件,但是这里是:

=IFS(A2<2,"A",A2<5,"B",A2<8,"C",A2<11,"D",A2<14,"E",A2<16,"F‌​")

【讨论】:

  • 您不需要 AND()。由于 IF 的解析方式,它只需要=IF(A2&lt;2,"A",IF(A2&lt;5,"B",IF(A2&lt;8,"C",IF(A2&lt;11,"D",IF(A2&lt;11,"E","F")))))
  • 还对IFS 仅在 Office 265 Excel 中可用而不在早期版本中可用这一事实发表评论。
  • 没有 AND() 的 IFS 版本更短,=IFS(A2&lt;2,"A",A2&lt;5,"B",A2&lt;8,"C",A2&lt;11,"D",A2&lt;14,"E",A2&lt;16,"F")
【解决方案3】:
=MID("AABBBCCCDDDEEEFF",A1+1,1)

=LOOKUP(A1,{0,2,5,8,11,14,16;"A","B","C","D","E","F",""})

或者这个hacky版本

=CHAR((A1+1)/3+65)

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-25
    相关资源
    最近更新 更多