如何在 Excel 或 MS Access 中将二维表转换为网格

问题描述

我有 3 张桌子:

Room A
Room B
Room C
8:00
9:00
10:00
11:00
Kathy   Room A  9:00
John    Room C  8:00
DaVon   Room C  10:00
Janelly Room A  10:00

我想使用表 A 为行和表 B 为列创建一个网格,如下所示:

        8:00    9:00    10:00    11:00
Room A          Kathy   Janelly
Room B
Room C  John            DaVon

如果可能,我更喜欢使用查询设计器。

解决方法

考虑访问:

Query1:这是一个 CROSSTAB 查询

TRANSFORM First(Schedule.Person) AS FirstOfPerson
SELECT Schedule.Room
FROM Hours LEFT JOIN Schedule ON Hours.Hr = Schedule.Hr
GROUP BY Schedule.Room
PIVOT Hours.Hr;

查询 2:

SELECT Rooms.Room,Query1.*
FROM Query1 RIGHT JOIN Rooms ON Query1.Room = Rooms.Room;