作业帮 > 综合 > 作业

excel 判断数值是否符合指定范围,并返回该行对应的某列值

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 06:34:01
excel 判断数值是否符合指定范围,并返回该行对应的某列值

如果金额值符合右侧上限和下限之间的区间,则返回对应的类别值
请不要把上下限改成具体的数值,这只是一个示例,实际上有很多列值,而且都有很多位小数
可能我没有说清楚,右边的区间范围实际上有很多行,不像这个示例中只有四行,所以请尽量在条件判断中不要用到具体的单元格,否则在很多行的情况下无法实际操作,
请在B2单元格里输入以下公式:=IF(AND($A2<=$D$2,$A2>=$E$2),$F$2,IF(AND($A2<=$D$3,$A2>=$E$3),$F$3,IF(AND($A2<=$D$4,$A2>=$E$4),$F$4,IF(AND($A2<=$D$5,$A2>=$E$5),$F$5,"")  2.  拖动B2填充至需要的位置.   

效果如图所示:

再问: 可能我没有说清楚,右边的区间范围实际上有很多行,不像这个示例中只有四行,所以请尽量在条件判断中不要用到具体的单元格,否则在很多行的情况下无法实际操作,谢谢
再答: 对于此问题,我考虑使用vba来写个函数来完成比较好,步骤如下:
 点击“宏”按钮“,输入 getlevel ,点击“创建”。

  2. 复制并粘贴以下代码:Function getlevel(ByRef num)
    Result = ""
    MaxRow = Application.WorksheetFunction.Count(Range("D:D")) + 1
    For i = 2 To MaxRow
        If num < Range("D" & i).Value And num > Range("E" & i).Value Then
            Result = Range("F" & i).Value
            Exit For
        End If
    Next
    getlevel = Result
End Function


  3. 在B2单元格输入公式,并往下填充=getlevel(A2)
  4. 效果图如下: