在Excel中运行SQL查询

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

我得到了一个数据转储的负载,我做了一些真正重复的数据按摩。

第一个解决办法显然是写一个脚本来为我做这个。 我不能。 我不能将服务器下载到我的电脑,作为一个PHP程序员,我不能这样做。

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

首先,让我描述一下我希望达到的目标。 我得到一个数据转储,我试图运行一个类似于这样的查询:

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

我试图做一些在Excel上运行查询的研究,这给了我体面的结果。 我可以使用自动筛选器/高级筛选器筛选出与我无关的结果。 然后我可以使用autosum来实现价格的总和。

然而,这是一个太冗长的过程。 这比手动完成要好得多,但对我来说还不够好。 我正在寻找一种解决这个问题的scheme。

条件:我不能安装任何apache / mySQL服务器到我的电脑。 不过,我被允许安装软件。

什么是解决这个问题的最好方法?

Excel并不是做“重复性数据按摩”的最糟糕的工具(实际上,这往往是我的第一select)。 关键是你学习使用公式和VBA编程。 使用VBA,您可以自动执行(几乎可以)Excel中的所有内容 ,否则您可以手动执行此操作。 像上面这样的查询在VBA中需要更多的几行,用程序风格编写,但是你可以立即将结果存储在一个汇总表中,很好地格式化,添加一些代码以便事先将你的转储加载到Excel表中自动化整个过程,而不仅仅是查询部分。

你可以使用像FreeSQLEditor这样的工具build立一个到你的Excel文件的ODBC连接。 在这种情况下,您的工作表将成为表格,然后您可以对其执行查询。

更新:FreeSQLEditor是共享软件。 您可以改为使用ODBC查询工具

你不需要一个SQL服务器。 你可以在Excel中很容易地做到这一点。

  1. 连接date和types。
  2. 查看您的新标签(date和types)

这里有一个最小的例子:

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

如果你想总结,你可以使用Sumifs函数。

你应该defitenely尝试DBxtra ,它连接到Excel(和其他数据库)很容易,你可以创buildSQL查询对Excel的工作表,就像他们是表,并让你输出你的数据一样容易。