Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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_Range_Offset_Vlookup - Fatal编程技术网

如何在excel中使用偏移函数使范围成为绝对值?

如何在excel中使用偏移函数使范围成为绝对值?,excel,range,offset,vlookup,Excel,Range,Offset,Vlookup,我在Excel中使用偏移函数定义了一个动态范围,并在VLOOKUP函数中使用它查找一个值: =VLOOKUP($B6,OFFSET(C30,0,C4):OFFSET(C36,0,C4),2,0) 问题是范围不是绝对的,它无法查找值。如果我没有使用偏移函数,我将按如下方式定义范围,这将起作用: =VLOOKUP($B6,$C$30:$C$36,2,0) 如何使以下函数的范围如上所述为绝对值,以便可以查找值 =VLOOKUP($B6,OFFSET(C30,0,C4):OFFSET(C36,0

我在Excel中使用偏移函数定义了一个动态范围,并在VLOOKUP函数中使用它查找一个值:

=VLOOKUP($B6,OFFSET(C30,0,C4):OFFSET(C36,0,C4),2,0)

问题是范围不是绝对的,它无法查找值。如果我没有使用偏移函数,我将按如下方式定义范围,这将起作用:

=VLOOKUP($B6,$C$30:$C$36,2,0)
如何使以下函数的范围如上所述为绝对值,以便可以查找值

 =VLOOKUP($B6,OFFSET(C30,0,C4):OFFSET(C36,0,C4),2,0)

使用地址和间接函数。例如:

=VLOOKUP($B6,OFFSET(C30,0,C4):OFFSET(C36,0,C4),2,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)

停止此工作的不是
OFFSET
——您的基本
VLOOKUP
将不起作用,因为如果“col_index-num”为2,则“table array”至少需要2列

你想用这个公式做什么

=VLOOKUP($B6,$C$30:$C$36,2,0)

如果要在C30:C36中查找B6并在下一列中找到相应的值,则需要使用此版本

=VLOOKUP($B6,$C$30:$D$36,2,0)

注释“D”代替第二个“C”

对于
偏移量的相应修复
版本,您可以使用


=VLOOKUP($B6,OFFSET(C30,0,C4):OFFSET(D36,0,C4),2,0)

对,我的公式是错误的,我应该在我的OFFSET函数中指出范围的左上角和右下角