偏移不适用于Google表格中的importrange。有没有解决方法?

时间:2017-03-18 10:28:27

标签: excel google-sheets offset

我正在尝试使用带有importrange的偏移公式,如下所示。

=OFFSET(IMPORTRANGE("googlespreadsheetkey","sheet!A1"),MATCH(A5,IMPORTRANGE("googlespre‌​adsheetkey","sheet!A‌​:A"),0)-1,1,2,2)

它正在给我

  

“参数必须是范围”错误。

单独地,抵消和重新安排工作正常。

感谢您的任何解决。

2 个答案:

答案 0 :(得分:2)

我认为错误信息意味着什么 - 偏移的第一个参数必须是一个范围(或者我称之为引用)。所以如果你尝试这样做

=offset(1,0,0)

而不是

=offset(A1,0,0)

您收到相同的错误消息。

在这种情况下,importrange只给你一组数字,而不是对另一张表中单元格A1的引用。

如果您将范围导入当前工作表的B1(比方说),那么您可以相对于此进行偏移,但我不知道在另一个工作簿中使用偏移的方法。

所以你必须分别进行导入和偏移

=importrange("key","sheet1!A:C")

然后(假设这导入B1)

=offset(B1,match(A5,importrange("key","sheet1!A:A"),0)-1,1,2,2)

至少importrange是动态的,因此如果您更新原始电子表格中的单元格,它将在当前电子表格中更新。

如果你希望做的是从导入的数据中选择某些行和列而不必先将所有数据导入当前工作表,那么有一种方法可以从描述的范围中选择某些行{{3} ,所以使用importrange它看起来像这个

=query({importrange("key","sheet1!A:C"), arrayformula(row(A:C))}, "select Col2, Col3 where Col4 <3")
  • 这将为您提供前两行和最后两列(我的测试数据有三列)。

答案 1 :(得分:1)

我也很想使用Offset(importrange ...),但是最简单的解决方法是使用具有以下结构的Index函数找到它。

索引(importrange(xx),0,MATCH(B2,importrange(xx A1:ZZZ1)))
为了使整列OR

索引(importrange(xx),MATCH(B2,importrange(xx A:A)),0) 为了整整一排

其中“ 0”是键,因此该函数将所需字符串的所有行带入列。