在Excel中重新创建Google Spreadsheets QUERY()

时间:2013-04-27 20:06:21

标签: excel filtering

我有一个庞大的Excel工作簿,我用它来跟踪产品标题和描述,我试图让它生成.csv文件,用于将这些产品导入到eBay和我自己的网站。我99%的方式都存在,但我似乎无法找到Excel等效的Google Spreadsheet的QUERY()函数,我需要使用它的两个位置:

第一,我需要在SheetB中填充一个列,其中SheetA中的产品ID尚未在网站上列出。在Google Spreadsheets中,我会使用=query('SheetA'A:B,"select A where isblank(B)")执行此操作,但我不能在我的生活中找出Excel中的等效内容。

第二,我需要从四张不同的纸张中取出所有非空行并将它们放在一张纸上。

我必须有一些显而易见的东西,但是我很想念它。帮助我,神奇的互联网人,你是我唯一的希望!

6 个答案:

答案 0 :(得分:2)

坏消息是Excel没有等效的QUERY()

不是那么糟糕的消息,你可以自己动手。

一些可能的方法:

  1. 将数据移至数据库。您可以在数据库中完成所有操作,或者仍然使用Excel作为前端(例如,使用Get External Data查询数据库,或者在VBA中构建所有数据库)
  2. 使用AutoFilter来查询数据(这不是SQL查询...)。有很多关于这种技术的例子
  3. 使用Get External Data(尽管名称,这可以是自引用)来查询您的数据(此 SQL查询)请参阅this answer了解启动器

答案 1 :(得分:2)

查看用于 Excel 的第 3 方 Query() 函数的 this short video

这里还有一个 5s 的“hello world”gif:

Query function "hello world" example

要安装它,您需要 QueryStorm runtime,这是一个 4MB 的免费安装程序。它就像 Excel 的包管理器。安装后,转到功能区中的 QueryStorm 选项卡,单击扩展并安装“Windy.Query”包(如视频所示)。

[免责声明] 我是第三者(QueryStorm 的作者)。

答案 2 :(得分:0)

在Excel中使用Power Query。尽管使用了不同的技术,但它将做同样的事情,并且做更多的事情。转到YouTube并搜索ExcelIsFun和MSPTDA

答案 3 :(得分:0)

我需要做同样的事情,在 Excel 中使用 INSERT>TABLE 可以解决问题,从您创建数据透视表的表中,当您添加列和/或行时,它是数据透视表

答案 4 :(得分:0)

我知道这篇文章已有 8 年历史,但如果其他人正在寻找解决方案,您可以在单元格 C2 中尝试以下公式

=INDEX('SheetA'$A$2:$A$10, SMALL(IF($D$2="", ROW($A$2:$A$10)-ROW($A$2)+1), ROW(1:1)))

这将在 SheetA A 列中查找空单元格并在 C2 单元格中显示一个值。 如果您想从 B 列中提取值,请重复相同的公式,但将 'SheetA'$A$2:$A$10 替换为 'SheetA'$B$2:$B$10。

缺点: 1. 您必须将此公式复制到右侧并手动替换公式的第一位。 2. 您必须将公式复制到与 SheetA 中的值一样多的行数,以确保不会遗漏任何值。

最后:输入公式后,按CTRL SHIFT-ENTER将其转换为数组公式。

答案 5 :(得分:0)

对于一个非常酷的第三方加载项 @anakac 的支持,毫无疑问,这个问题的最佳答案是 Matt 的:Power Query。有一点学习曲线,但它是一种非常通用的工具,可以创建真正可重复使用的自动化过滤结果。