我已经看过一些类似的帖子,但没有一个对我的特定问题有一个非常有帮助的答案。我是一名程序化广告数据分析师,所以我试图将多对多关系联系起来。
我们运行"角色",这是一组应用。角色有很多应用程序,应用程序有很多角色。我有按人物组织的数据:每一行都是一个角色,该行中的每一列都包含一个包含该角色的应用程序。每个角色都有不同数量的应用。即
Row Persona App 1 App 2 App 3
1 Casino Persona "Slot Kings" "Wild Casino" "Real Gambling App"
2 RPG Persona "Dragon Valor" "KOTOR"
3 Sports Persona "MLB: The App" "Real Soccer" "Hockey Fans 2016"
4 Gen-X Females "Scrapbook App" "Baby Monitor" "PostMates"
所以我知道哪些应用程序属于每个角色。我现在正在尝试确定哪个角色属于每个应用。我想创建另一个切换" apps"的工作表。和#34;角色。" e.g。
Row App Persona 1 Persona 2 Persona 3
1 Slot Kings "Casino Persona" "Slot Persona"
2 KOTOR "RPG Persona" "Star Wars Fans" "SciFi Persona"
3 MLB: The App "Sports Persona" "Baseball Fans"
我无法找出任何方法来做一个疯狂的嵌套语句,VBA或类似的疯狂数组公式。
答案 0 :(得分:0)
我明白你要求的是什么。但是,尝试使用公式或VBA重新排列数据会花费大量时间和精力;并且也是非常不必要的。
您的数据布局适合查看,但不适合任何类型的数据分析。如果要执行分析,应始终以数据库格式存储数据。有关详细信息,请参阅此文章:
对于您的数据,您应该只有2列,一列用于Persona,一列用于App。然后在每一行中,您只列出一个Persona和App的可能组合。您放置数据的顺序并不重要。
正确设置数据后,您现在可以创建自动排列数据的数据透视表。它也可以轻松计算每个角色中的应用程序数量,反之亦然,然后还可以创建图表。查看PivotTables和PivotCharts以获取更多信息。
要创建左上角表,请将Persona放入Rows字段,然后将App放入Rows字段。 (关闭小计和总计以使表格更整洁,并将布局更改为Tabular以查看字段名称。)
要创建右上角的表格,请将App放入数据字段。
要创建底部表格,请按相反的顺序添加字段。
请注意,如果您有关于要记录的角色或应用的更多详细信息,则应将它们存储在单独的表中。现在进入设计关系数据库的领域。有关更多信息,请查找有关数据库设计的参考资料。