OFFSET / INDIRECTfunction故障
我在一本工作手册里有两张纸,第一张有几千条费用,由个人分开,第二张是总计等。
在第二张纸上,我创build了一个引用来插入每个人的名字(即B4:='卡交易'!D89)。 对于返回每个人总数的语法,我有困难,这是在第一个表中的可预测单元格相对于名称(向下1,向右7)。
我已经尝试了以下:=偏移(间接(B4),1,7)只有一个参考错误的回报。 这似乎应该是相对简单的,但我没有任何运气。 。 。 有什么build议么?
用这个:
=OFFSET(INDIRECT(MID(FORMULATEXT(B4),2,300)),1,7)
注意:
- 这只适用于B4中的公式只包含一个单元格引用。
- 这是一个易失性函数,如果使用次数过多,会导致计算显着滞后。
只要您的数据遵循以下规则,以下内容应该适用于您:
- 您的列有标题
- 名字都在同一列
- 而且你可以用行号来设置范围,而不仅仅是整列
假设你的第一张纸是这样写的:
而且你希望你的第二张纸是这样的 :
你的床单被命名为:
- 工作表Sheet1
- Sheet2中
这是Sheet2中B2的公式: =INDEX(Sheet1!$A$1:$H$9,MATCH(A1,Sheet1!$A$1:$A$9,0)+1,MATCH("Column 8",Sheet1!$A$1:$H$1,0))
这就是它的作用:
- 您的索引数组是整个蓝色区域,这可以是整个工作表,但不能是一个完整的列引用, 行号必须指定 。 在这个例子中,索引数组是
$A$1:$H$9
,$
符号表示当您拖动公式时,范围不会移动,所以它们很重要! - 你的第一个匹配find行号,它使用名称(在这个例子中是'bart')作为查找值,紫色区域作为数组。 在这个例子中,行数组是
$A$1:$A$9
, 行号必须与索引数组中的行号相匹配 。 该匹配结尾处有一个“+1”,所以它会find匹配的行,然后添加一行来获得您的偏移量。 - 您的第二个匹配find列号,它将需要使用您的列的名称 。 在这个例子中,列数组是
$A$1:$H$1
, 列字母必须与索引数组中的列字符匹配 。
让我知道如果这不符合你的问题,我相信我们可以弄明白。
谢谢。