Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel公式返回数字在数字网格中的位置_Excel_Excel Formula_Vba - Fatal编程技术网

Excel公式返回数字在数字网格中的位置

Excel公式返回数字在数字网格中的位置,excel,excel-formula,vba,Excel,Excel Formula,Vba,假设我有4个数字,例如4,10,15,20 我需要写一个公式,接受数字输入,并告诉我它在数字范围内的位置: 4、10、15和20 因此,根据输入的数字,我需要返回值1、2、3、4或5 我可以编写一个VBA函数,但我认为可能已经有一个方便的函数可用。…将其放入宏中 my_numb = ActiveCell Select Case my_numb Case Is <= 4 my_val = 1 Case Is <= 10 my_val = 2 Case Is <= 1

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

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

  • 4、10、15和20
因此,根据输入的数字,我需要返回值1、2、3、4或5

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

将其放入宏中

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
my_numb=ActiveCell
选择我的案例

Case Is您可以使用VLOOKUP实现同样的功能,只要您创建一个具有所需范围的“查找”表,如:

注意VLOOKUP公式末尾的TRUE,它返回最后一个结果,即<查找值。通常情况下,这个选项是无用的——这是为数不多的有用选项之一


与VBA方法相比,我更喜欢这种方法,因为它更易于更新,并且更易于初学者和中级Excel人员访问。

最简单的方法是使用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
x(0)=4
x(1)=10
x(2)=15
x(3)=20
对于k=0到3

如果x(k)4和x(k),则工作表函数
MATCH
可以执行此操作。除了第一种情况(当