Excel:根据箱体系统对数据进行分类

Excel:根据箱体系统对数据进行分类

我在 Windows 上使用 Excel 2010,我是 Excel 新手,但我会编程,所以欢迎你向我抛出 VBA。我有一系列单元格,用户可以在其中输入数字,另一个单元格需要根据该数字所在的间隔显示分类。

例如:

0%:     -> nothing
01-20%: -> not a lot
21-50%  -> below average

etc...

这对于许多不同的格式(整数、浮点数)都是必要的。最优雅的解决方法是什么?

答案1

另一个选择是将包含 bin 数据的查找表放在工作簿的某个位置。然后,您可以使用函数VLOOKUP通过将输入与表格进行比较来对输入进行分类。

在此处输入图片描述

在此示例数据中,查找表位于E3:F8且用户输入位于B1,您将使用以下公式:

=VLOOKUP(B1,$E$3:$F$8,2,TRUE)

答案2

您没有说明这必须在 VBA 中。我相信使用公式来实现比尝试通过用户输入触发 VBA 更容易。

因此,这里有一种方法可以使用嵌套IF语句AND来实现您所描述的内容。在本例中,值输入在 中A1,分类显示在 中B1

将此公式放入B1

=IF(AND(A1>0.7,A1<=1),"above average",IF(AND(A1>0.5,A1<=0.7),"average",IF(AND(A1>0.2,A1<=0.5),"below average",IF(AND(A1>0.01,A1<=0.2),"not a lot", ""))))

您可能需要调整一些东西来满足您的需要。

答案3

如果您更喜欢使用 VBA,然后根据需要自定义和过度复杂化,哈哈:

Function MyFunction(inputvalue As Double)

  Select Case inputvalue

    Case Is = 0:
    MyFunction = "nothing"
    Case Is <= 0.2:
    MyFunction = "not a lot"
    Case Is <= 0.5:
    MyFunction = "below average":
    Case Is > 0.5:
    MyFunction = "above average"

  End Select

End Function

相关内容