在Excel中运行SQL查询

时间:2013-03-12 11:00:25

标签: mysql reporting excel

我在一家公司工作,出于某种原因,我被倾倒做统计。

我得到了大量的数据转储,我可以做一些非常重复的数据按摩。

显然,第一个解决方案是编写一个脚本来为我执行此操作。我不能。我不允许将服务器下载到我的PC中,作为PHP程序员,我不能这样做。

其次,我想到将这些txt文件导入MySQL数据库并对它们运行查询。再说一次,我不能。我甚至不允许在我的电脑上安装MySQL数据库。

首先,让我描述一下我希望实现的目标。 我有一个数据转储,我正在尝试运行类似这样的查询:

SELECT SUM `price` FROM <this excel sheet> WHERE `date`>`somedate` AND `type`=`sometype`

我试图对在Excel上运行查询进行一些研究,这给了我不错的结果。我可以使用自动过滤器/高级过滤器来过滤掉与我无关的结果。然后我可以使用autosum来实现价格的总和。

然而,这是一个过长的过程。这比手动操作要好得多,但对我来说还不够好。我正在寻找一种解决这个问题的程序化方法。

条件: 我无法在我的电脑上安装任何apache / mySQL服务器。但是,我允许安装软件。

解决此问题的最佳方法是什么?

4 个答案:

答案 0 :(得分:2)

Excel不是进行“重复数据按摩”的最差工具(实际上,它通常是我执行此类任务的首选)。关键是你学习使用公式和VBA编程。使用VBA,您可以在Excel中自动执行(好的,差不多)一切,否则您可以手动执行。像上面这样的查询在VBA中需要更多行,以程序样式编写,但是您可以立即将结果存储在聚合工作表中,格式化它,添加一些代码以便事先将转储加载到Excel工作表中等等自动化整个过程,而不仅仅是查询部分。

答案 1 :(得分:1)

您可以使用FreeSQLEditor之类的工具与Excel文件建立ODBC连接。在这种情况下,您的工作表将成为表格,然后您可以对其执行查询。

更新:FreeSQLEditor是共享软件。您可以使用ODBC Query Tool代替

答案 2 :(得分:0)

您不需要SQL-Server。你可以在Excel中轻松完成。

  1. 连接日期和类型。
  2. Vlookup为您的新主题标签(日期和类型)
  3. 这是一个最小的例子:

    https://docs.google.com/spreadsheet/ccc?key=0AgBAVSqx4789dHA2M1lQd0JaY0hidkVfQmNqbmZjX2c&usp=sharing

    如果你想要求和,你可以使用Sumifs函数。

答案 3 :(得分:0)

您应该放弃尝试DBxtra,它可以轻松连接到Excel(和其他数据库),您可以像Excel工作表一样创建SQL查询,就像它们是表格一样,让您可以轻松地将数据输出回Excel