在这种情况下如何使用 =VLOOKUP?

在这种情况下如何使用 =VLOOKUP?

因此,我知道在单元格内搜索单个值时如何使用 =VLOOKUP,但我不确定当我有一个范围时该如何执行此操作,例如,假设单元格的值是 1-5,下一个是 5-10。

在此处输入图片描述

这是我正在尝试搜索的表格。常规公式对我不起作用,我只收到 #N/A 错误。我使用的搜索功能是否错误?

答案1

假设您的查找值在 I2 中:

=VLOOKUP(IF(I2<=5, "1-5", IF(I2<=10, "6-10", IF(I2<=20, "'11-20", "21 or more"))),B2:C5,2,TRUE)

但在我的 Excel 中,它拒绝将 11-20 视为文本,并将其称为“带有 2 位数字年份的文本日期”。因此,该公式不适用于 11-20。我将保留 90% 的解决方案,以防有人知道如何解决“文本是 2 位数字年份”的问题。

答案2

如果你要查找的数字在单元格中C1,并且你的表格以A1

=VLOOKUP(IF(C1>20,"21 or more",IF(C1>10,"11-20",IF(C1>5,"6-10",IF(C1>0,"1-5",0)))),$A$1:$B$4,2,0)

if按从大到小的顺序嵌套 s 以用最少的测试进行捕获,然后为 分配文本vlookup

答案3

如果您确实需要这样做,我会根据范围添加一个最小值列,例如:

=IF(SEARCH(" ", A3), LEFT(A3,SEARCH(" ",A3)-1), LEFT(A3,SEARCH("-",A3)-1))

然后,您可以使用基于新最小值列的 vlookup,因为 VLOOKUP 默认会查找完全匹配,或“小于 lookup_value 的下一个最大值”

带有多个嵌套 IF() 的其他答案也符合您的标准,但如果任务真的想出这样的内容,那么它就会教授一些非常糟糕的想法。

使用一堆嵌套的 IF() 语句,然后将其提供给 VLOOKUP() 是复杂而荒谬的。您已将边界硬编码到公式中,而 VLOOKUP() 几乎没有添加任何内容(值替换可能恰好发生在 IF() 级别)。

相关内容