IF(AND(A:A>=Sheet2!A:A,A:A<=Sheet2!B:B),VLOOKUP(lookup_value, data1_range,col_index_num, [range_lookup]), '') 函数的错误在于它试图对整个列进行比较和查找。

修正方法:

  1. 使用ROW函数获取当前行号:ROW()
  2. 使用INDEX函数获取对应行的值:INDEX(A:A,ROW())
  3. 将公式修改为:IF(AND(INDEX(A:A,ROW())>=Sheet2!A:A,INDEX(A:A,ROW())<=Sheet2!B:B),VLOOKUP(lookup_value, data1_range,col_index_num, [range_lookup]), '')

示例:

假设在Sheet1中,A列存储要查找的值,Sheet2中,A列存储下限,B列存储上限。

要查找Sheet1中A列大于等于Sheet2中A列且小于等于Sheet2中B列的值,并返回对应数据范围中的第三列数据,可以使用以下公式:

=IF(AND(INDEX(A:A,ROW())>=Sheet2!A:A,INDEX(A:A,ROW())<=Sheet2!B:B),VLOOKUP(A1,Sheet2!A:C,3,FALSE),'')

解释:

  • INDEX(A:A,ROW()) 获取当前行A列的值。
  • Sheet2!A:A 获取Sheet2中A列的值。
  • Sheet2!B:B 获取Sheet2中B列的值。
  • VLOOKUP(A1,Sheet2!A:C,3,FALSE) 查找Sheet1中A1的值在Sheet2中A:C范围内的对应值,并返回第三列数据。
  • FALSE 表示精确匹配。
  • '' 表示如果条件不满足,则返回空字符串。

注意:

  • 此公式需要逐行复制,才能对所有数据进行比较和查找。
  • 确保Sheet2中的数据范围包含要查找的所有数据。
  • 如果数据范围包含重复值,则可能会返回多个结果。

希望以上内容能够帮助您解决问题。

Excel公式错误:IF(AND(A:A>=Sheet2!A:A,A:A<=Sheet2!B:B),VLOOKUP(...),

原文地址: https://www.cveoy.top/t/topic/nKtv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录