Excel公式返回一个数字适合数字网格的位置

时间:2014-01-16 00:18:32

标签: excel excel-vba excel-formula vba

假设我有4个数字,例如4,10,15,20

我需要编写一个带有数字输入的公式,并告诉我它在数字范围内的位置:

  • < = 4
  • > 4和< = 10
  • > 10和< = 15
  • > 15和< = 20
  • > 20

因此,根据数字输入,我需要返回值1,2,3,4或5.

我可以写一个VBA函数,但认为可能有一个方便的函数已经可用....

3 个答案:

答案 0 :(得分:1)

只要您创建一个包含所需范围的“查找”表,就可以使用VLOOKUP实现相同的目的:

enter image description here

注意VLOOKUP公式末尾的TRUE,它返回的最后一个结果是<查找值。通常情况下,此选项无用 - 这是有用的几次之一。

我更喜欢VBA方法,因为它更容易更新,也可供更多初学者和中级Excel用户访问。

答案 1 :(得分:0)

将它放在你的宏

my_numb = ActiveCell

Select Case my_numb
Case Is <= 4
  my_val = 1
Case Is <= 10
  my_val = 2
Case Is <= 15
  my_val = 3
Case Is <= 20
  my_val = 4
Case Is > 20
  my_val = 5
Case else
  my_val = "error"
End Select

ActiveCell.Offset(0, 1) = my_val

答案 2 :(得分:0)

最简单的方法是使用if-elseif-end if语句。具有两个范围的选择案例可以得到相当的复杂化。

x(0) = 4
x(1) = 10
x(2) = 15
x(3) = 20
For k = 0 to 3
    If x(k) <= 4 Then
        y=1
    elseif x(k) > 4 And x(k) <= 10 Then
        y=2
    elseif ...
        ...
    end if
 Next k