我正在尝试构建一个将OFFSET(因为我想将一个工作表中的其他所有行都检索到另一行)和Match()结合起来的公式,因为我希望函数使用查找值来查找第一个单元格引用。独立地,我的索引/匹配有效,我的Substitute(Address())有效(检索column#row#而不是单元格值),而我的Offset有效。但是,当我将Replace(Address())放在我的Offset函数(作为单元格引用)中时,该公式停止工作。
-匹配功能(有效,找到列号)
MATCH(T2, 'Sheet1'!1:1, 0)
-替换(有效,切换列字母数字作为列号)
SUBSTITUTE(ADDRESS(1,MATCH(T2, 'Sheet1'!1:1, 0), 4), "1", "")
-单独偏移(有效,从工作表1中检索所有其他行)
OFFSET('Sheet1'!$O$2,(ROW(D3)*2)-6,0)
-最终公式(无效)
OFFSET('Sheet1'!$SUBSTITUTE(ADDRESS(1,MATCH(T2, 'Sheet1'!1:1, 0), 4), "1", "")$2,(ROW(D3)*2)-6,0)
我觉得插入其他公式作为OFFSET的单元格引用肯定是一个问题,但是我不知道如何解决它。
答案 0 :(得分:1)
您需要添加INDIRECT:
OFFSET(INDIRECT("'Sheet1'!$"&SUBSTITUTE(ADDRESS(1,MATCH(T2, 'Sheet1'!1:1, 0), 4), "1", "")&"$2"),(ROW(D3)*2)-6,0)
答案 1 :(得分:0)
问题在于您尝试建立地址的方式。您不能只构建看起来像地址的文本。我认为indexOf
功能是不必要的。但是您需要SUBSTITUTE
。它将文本转换为真实地址。我相信这是您最终需要的:
INDIRECT