在列=值的电子表格之间导入数据?

时间:2013-04-11 15:18:38

标签: excel spreadsheet google-sheets google-docs google-drive-api

注意:我的问题类似于Googe Spreadsheets的ImportRange功能。

Google Spreadsheets或Microsoft Excel是否可以根据单元格值导入数据?

例如,我可以将Sheet1的内容复制到列B ==“foo”的另一张表中吗?

目标(Sheet1):

enter image description here

目标表只应复制第2行和第4行,因为这些是唯一包含“foo”

的行

编辑:

对于Google文档,我期待这样的事情:

=ImportRange("spreadsheetkey", QUERY('sheetname'!A6:E10, "SELECT A, B = 'foo'"))但我无法让它发挥作用。

4 个答案:

答案 0 :(得分:1)

您可以按照您的说法执行此操作,但不是在ImportRange中使用Query,而是在Query中使用ImportRange,因此:

= QUERY((ImportRange(“spreadsheetkey”,“sheetname!A6:E10”)),“选择列号,如Col1,Col2等其中_Criteria用于选择,例如(B包含'foo ')按排序,如果你想要“)

答案 1 :(得分:0)

你可以这样做:

首先,在一个额外的列(例如,列D)中标识要复制的行/单元格:

range("D" & range("A" & activesheet.rows.count).end(xlup).row).formula= "=IF(B:B=""foo"", NA(),"""")

接下来,使用 SpecialCells 选择A列中的单元格,使用B,其中D列显示NA#

range("D1:D6").specialcells(xlcelltypeformulas, xlerrors).offset(0,-2).copy
othersheet.range("A1").pastespecial xlpasteall

应该让你开始使用一些代码来玩

当然,你也可以不用VBA来做,只需粘贴公式,使用F5,SpecialCells对话框......

答案 2 :(得分:0)

您需要使用其中的importrange包装查询,如下所示:

=QUERY(importrange("spreadsheet key","sheetname!A6:E10"), "SELECT A where B='foo'")

答案 3 :(得分:0)

您可以使用FILTER函数来做到这一点:

=FILTER(IMPORTRANGE("spreadsheet_url", "'sheet_name'!A6:E10"),
IMPORTRANGE("spreadsheet_url", "'sheet_name'!B6:B10")="foo")