如何在Excel表格上运行SQL查询?

103
我正在尝试从另一个表格中创建一个子表格,其中包含所有按照姓氏字段A-Z排序且具有不为空的电话号码字段。我可以使用SQL很容易地完成这个任务,但是我不知道如何在Excel中运行SQL查询。我想将数据导入postgresql并在那里进行查询,但这似乎有点过度了。
为了实现我的目标,SQL查询SELECT lastname, firstname, phonenumber WHERE phonenumber IS NOT NULL ORDER BY lastname会做到这一点。这似乎太简单了,以至于Excel不能本地支持它。我怎么能在Excel中运行这样的SQL查询?

你想在SQL本身中完成这个操作,还是在应用程序中完成? - John Bingham
4
我已经彻底调查了这个问题,并在 https://exceldevelopmentplatform.blogspot.com/2018/10/vba-microsoftaceoledb120-details.html 上撰写了发现的结果。 - S Meaden
@S Meaden:优秀的、直截了当的代码示例,非常有用,可以帮助我们理解复杂的一般性理论。非常感谢! - pstraton
12个回答

-1

Microsoft Access和LibreOffice Base都可以将电子表格作为源文件打开并对其运行SQL查询。这是运行各种查询最简单的方式,避免了运行宏或编写代码时可能遇到的混乱。

Excel还具有自动筛选和数据排序功能,可以完成许多类似于您的示例的简单查询。如果您需要这些功能的帮助,谷歌会比我更好的提供教程。


-1
我可能误解了,但这难道不是数据透视表的功能吗?您的数据是在表格中还是仅在筛选列表中?如果不是表格,请将其转换为表格(ctrl+l);如果已经是表格,则只需激活表格中的任何单元格,并在另一个工作表上插入一个数据透视表。然后将姓氏、名字和电话号码列添加到行部分。接着将电话号码添加到筛选器部分并过滤掉空值。现在可以像平常一样排序了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接