我在Excel中使用OFFSET函数定义了动态范围,我在VLOOKUP函数中使用它来查找值:
=VLOOKUP($B6,OFFSET(C30,0,C4):OFFSET(C36,0,C4),2,0)
问题是范围不是绝对的,它无法查找值。如果我没有使用OFFSET函数,我会按如下方式定义范围:
=VLOOKUP($B6,$C$30:$C$36,2,0)
如何使上述函数的范围绝对如上所述,以便可以查找这些值?
=VLOOKUP($B6,OFFSET(C30,0,C4):OFFSET(C36,0,C4),2,0)
答案 0 :(得分:1)
停止此工作不是OFFSET
- 您的基本VLOOKUP
将无效,因为“表格数组”至少需要2列,如果您有“col_index-num”为2
你打算用这个公式做什么?
=VLOOKUP($B6,$C$30:$C$36,2,0)
如果你想在C30:C36中查找B6并在下一栏中找到相应的值,你需要使用这个版本
=VLOOKUP($B6,$C$30:$D$36,2,0)
注意“D”代替第二个“C”
以及对OFFSET
版本的相应修复,您可以使用
=VLOOKUP($B6,OFFSET(C30,0,C4):OFFSET(D36,0,C4),2,0)
答案 1 :(得分:0)
使用地址和间接功能。例如:
来自你的例子:
=VLOOKUP($B6,OFFSET(C30,0,C4):OFFSET(C36,0,C4),2,0)
应该是:
=VLOOKUP($B6,INDIRECT(CONCATENATE(ADDRESS(ROW(C30),COLUMN(C30)+C4),":",ADDRESS(ROW(C30),COLUMN(C30)+C4))),2,0)