OFFSET / INDIRECTfunction故障

我在一本工作手册里有两张纸,第一张有几千条费用,由个人分开,第二张是总计等。

在第二张纸上,我创build了一个引用来插入每个人的名字(即B4:='卡交易'!D89)。 对于返回每个人总数的语法,我有困难,这是在第一个表中的可预测单元格相对于名称(向下1,向右7)。

我已经尝试了以下:=偏移(间接(B4),1,7)只有一个参考错误的回报。 这似乎应该是相对简单的,但我没有任何运气。 。 。 有什么build议么?

用这个:

 =OFFSET(INDIRECT(MID(FORMULATEXT(B4),2,300)),1,7) 

注意:

  • 这只适用于B4中的公式只包含一个单元格引用。
  • 这是一个易失性函数,如果使用次数过多,会导致计算显着滞后。

只要您的数据遵循以下规则,以下内容应该适用于您:

  • 您的列有标题
  • 名字都在同一列
  • 而且你可以用行号来设置范围,而不仅仅是整列

假设你的第一张纸是这样写的:

截图1

而且你希望你的第二张纸是这样的

截图2

你的床单被命名为:

  • 工作表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))

这就是它的作用:

截图3

  • 您的索引数组是整个蓝色区域,这可以是整个工作表,但不能是一个完整的列引用, 行号必须指定 。 在这个例子中,索引数组是$A$1:$H$9$符号表示当您拖动公式时,范围不会移动,所以它们很重要!
  • 你的第一个匹配find行号,它使用名称(在这个例子中是'bart')作为查找值,紫色区域作为数组。 在这个例子中,行数组是$A$1:$A$9行号必须与索引数组中的行号相匹配 。 该匹配结尾处有一个“+1”,所以它会find匹配的行,然后添加一行来获得您的偏移量。
  • 您的第二个匹配find列号,它将需要使用您的列的名称 。 在这个例子中,列数组是$A$1:$H$1列字母必须与索引数组中的列字符匹配

让我知道如果这不符合你的问题,我相信我们可以弄明白。

谢谢。