Excel相当于T-SQL EXISTS

时间:2017-02-01 15:07:28

标签: excel exists

在T-SQL中,可以很容易地找到符合条件的行与语句的EXISTS子句。

假设您有一个包含开始日期和结束日期的行的表,可以很容易地找到某些日期位于此表中行的开始日期和结束日期之间的行。

Select * from sometable s where exists (select * from anothertable a where s.somedate between a.startdate and a.enddate)

我在Excel中需要此功能或解决方法。我需要在Excel文件中显示计算,因此我不认为它是将数据移动到SQL并使用T-SQL进行此操作的选项,然后将结果粘贴回Excel中。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以使用ADO查询Excel电子表格。

在VBA中创建ADODB连接

objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Test.xls; Extended Properties=""Excel 8.0;HDR=Yes;"";" 

并运行查询:

objRecordset.Open "Select * FROM [Sheet1$] WHERE [F1] IN (SELECT [F2] FROM [Sheet1$])", objConn

注意:未经测试的代码,来自内存的想法。