我正在做一个项目,我必须查询一个平面 Excel 电子表格并创建结果,就像它是一个真实的数据库一样。所有数据都在一个工作表中,看起来像这样:
Name City State Country Favorites
John Austin TX US Hot Dogs
John Austin TX US Baseball
Steve Orlando FL US Hot Dogs
Steve Orlando FL US Baseball
Steve Orlando FL US Apple Pie
通过查询,我需要返回一个看起来像这样的表。
Name City State Country Hot Dogs Baseball Apple Pie
John Austin TX US Yes Yes No
Steve Orlando FL US Yes Yes Yes
关键是我正在使用 Excel 电子表格执行此操作。
所以我创建了一个如下所示的查询:
Select
[Name],[City],[State],[Country],
IIF([Favorites] = "Hot Dogs", 'Yes') as [Hot Dogs],
IIF([Favorites] = "Baseball", 'Yes') as [Baseball],
IIF([Favorites] = "Apple Pie", 'Yes') as [Apple Pie]
From
[Sheet1$]
Group By
[Name],[City],[State],[Country],
IIF([Favorites] = "Hot Dogs", 'Yes'),
IIF([Favorites] = "Apple Pie", 'Yes')
但是查询的数据结果如下所示:(为格式化道歉)
Name City State Country Hot Dogs Baseball Apple Pie
John Austin TX US Yes
John Austin TX US Yes
Steve Orlando FL US Yes
Steve Orlando FL US Yes
Steve Orlando FL US Yes
如何将每个用户的所有结果合并到一行中?在 Excel 中查询时,Group By 似乎没有帮助或工作。无论我是否包含 Group By 部分,结果都是相同的,并且我被迫包含 select 语句中的所有列以避免错误:
“您试图执行一个不包含指定表达式的查询……作为聚合函数的一部分。
如果这是在 SQL DB 中,我可以让它工作,但我被困在 Excel 中尝试这样做。
任何建议将不胜感激!
谢谢。