我正在创建一个命名函数,该函数需要引用工作表中的一个单元格,每当我创建它并键入例如$D$4
时,它就会将其转换为'SheetName'!$D$4
(第一个工作表的D4(,从而使其无法在其他工作表中使用命名函数。
有没有一种方法可以让它查看当前工作表中的D4
,或者我需要为我使用的每个工作表手动创建一个命名函数?
我找到了解决办法。基本上,我没有直接获取单元格,而是使用偏移量来获取这些单元格。对于偏移量的引用,我使用了一个参数,我总是将其设置为A1。EX:";OFFSET(CELL,3,3(";其中CELL是设置为A1的参数,则在该特定工作表中为D4。
最好的方法是传递所需的任何范围作为参数。例如,定义为=(cell>D4*8)
的名为NAMED_GREATER(cell)
的函数可以是重写为
NAMED_GREATER(cell, cell2)
公式定义:
=cell>cell2*8
如果这不可行,您可以在可能的情况下在这个答案中使用OFFSET
。但如果OFFSET
不可行,则使用INDIRECT
INDIRECT("$D$4")
这使得D4
引用当前工作表的D4
。但是,OFFSET
是首选,因为与字符串范围不同,它们会根据更改自动更新。