OFFSET / INDIRECT功能故障

时间:2017-12-13 22:56:39

标签: excel

我在工作簿中有两张纸,第一张有几千笔费用,由个人分开,第二张是总计等等。

在第二张纸上,我创建了对第一张纸的引用,以插入每个人的名字(即B4:='Card Transactions'!D89)。我在返回每个人的总数的语法方面遇到了困难,这是在第一张相对于名称的可预测单元格中(向下1,向右7)。

我尝试过以下方法: = offset(间接(B4),1,7),仅返回参考错误。这似乎应该相对简单,但我没有运气。 。 。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

使用它:

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

请注意:

  • 仅当B4中的公式仅包含一个单元格引用时才有效。
  • 这是一个易变的函数,如果使用次数太多,将导致计算明显滞后。

答案 1 :(得分:0)

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

  • 您的列有标题
  • 名称都在同一列中
  • 您可以使用行号而不仅仅是完整列来设置范围

假设您的第一张表格如下:

Screenshot 1

你想要第二张这样的

Screenshot 2

您的工作表名称为:

  • Sheet 1中
  • Sheet 2中

这是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))

以下是它的作用:

Screenshot 3

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

如果这不符合您的问题,请告诉我,我相信我们可以解决这个问题。

感谢。