我在使用 Excel 中的 OFFSET 函数时遇到了一些问题。我正在修改别人创建的文件,代码不是我写的。
因此,在文件的一张表中,在单元格中应用以下公式,该公式引用文件中的另一张表(Sheet Feb):
=IF(OFFSET('Feb'!$A$1,$A$2+$A5,0)=$B$2,OFFSET('Feb'!$A$1,$A$2+$A5,7),"")
有人可以帮助我更好地理解这个公式的逻辑吗?特别是这$A$2 + $A5
部分,因为我不知道以这种方式添加单元格意味着什么。
提前致谢!
答案1
语法是=OFFSET
(引用,行,列,[高度],[宽度])
因此OFFSET('Feb'!$A$1,$A$2+$A5,0)
意味着从参考单元格开始'Feb'!$A$1
,向下移动行,即获取当前工作表上的单元格和$A$2+$A5
的内容并将它们相加以获得行偏移量,然后从“二月”工作表向下移动行数$A$2
$A5
$A$1
然后将此单元格的值与$B$2
(当前工作表上的)的内容进行比较。如果它们相同,则OFFSET('Feb'!$A$1,$A$2+$A5,7)
返回的值,否则为 0
OFFSET('Feb'!$A$1,$A$2+$A5,7)
'Feb'!$A$1
是上面计算的同一行第 7 列的值。
'Feb'!$A$1
很可能是具有至少 7 列的表格的左上角,并且公式试图匹配该表格的一行。