Qualquer mecanismo de banco de dados que suporte a vinculação a outros bancos de dados via ODBC resolverá seus problemas. Como Chris apontou, há o Microsoft Access (criar uma tabela vinculada), embora seja muito doloroso fazer uma análise complexa (ela lida muito bem com a análise básica).
Você deve usar o Microsoft OLE DB Provider for Jet
com uma planilha do Excel.
Minha preferência pessoal seria o SQL Server com a planilha do Excel como um servidor vinculado .
EXEC sp_addlinkedserver
'ExcelSource',
'Jet 4.0',
'Microsoft.Jet.OLEDB.4.0',
'c:\MyData\DistExcl.xls',
NULL,
'Excel 5.0';
GO
SELECT *
FROM ExcelSource...SalesData;