根据范围为数据分配类别

根据范围为数据分配类别

在 Excel 中,我如何从一列中取出数字并将其分配给另一列中的类别?例如,如果我设置了与某些单词对应的范围,1-10=初学者,11-20=中级等。我如何取出值 2、5、9 19、15、3 并将它们分配给相应列中的适当类别?

答案1

如果您的数字在 A 列,您可以在 B 列输入以下内容并向下填写以分配每个数字的类别。

=INDEX({"Beginner","Intermediate"},MATCH(A2,{1,11},1))

此公式的主要特点:

  1. 类别数组是该INDEX函数的第一个参数。如果您需要更多类别,请在此处添加它们,以逗号分隔,每个类别都括在引号中。
  2. 类别范围下限的数组是该MATCH函数的第二个参数。数组中的值的数量应与类别的数量相对应。每个值都是定义类别范围的下限。
  3. A2是您要分类的值的地址(2是示例数据中的第一个值)。

在此处输入图片描述

如果你要扩展类别以包含另一个类别,例如,值 21+ 的“高级”,则公式将是

=INDEX({"Beginner","Intermediate","Advanced"},MATCH(A2,{1,11,21},1))

请注意,两个数组都已扩展,但其他内容保持不变。

答案2

如果您的起始范围是单元格 A1、A2,值为 1 和 11;终止范围是 B1、B2,值为 10 和 20;单词在 C1、C2 中,分别为初学者和中级;D 列的值为 2、5、9、19、....,则在 E1 中输入以下公式:

=INDEX(C1:C2, SUMPRODUCT(--(D1<=B1:B2), --(D1>=A1:A2), ROW(A1:A2)))

这将在 E1 中进入初学者模式。将 D1 更改为 19 可看到 E1 更改为中级。

相关内容