新手 数据表 矩阵计算 交叉查询
这是从实际问题中提炼出来的模型,由于原问题有点复杂,不多说。请大家帮忙看下下边的问题,帮忙解决,不胜感激!
已知:
表1:分配标准
职称A职称B职称C
物品甲987
物品乙654
物品丙321
……………………
其中职称固定,物品可能变动。该矩阵即为A
表2:各部门人员分布
职称A职称B职称C
部门1235
部门2335
部门3345
部门4126
……………………
其中职称固定,部门可能变动。该矩阵记为B
要生成:
(动态)表3: 各部门分配
物品甲物品乙物品丙……
部门1774717
部门2865320
部门3945822
部门4674013
……
该矩阵记为C
在excel中以上计算可通过矩阵相乘函数MMULT完成,即
C=B*A’ 即 =MMULT(分布,TRANSPOSE(标准))
但每次计算完之后,如果有新的数据增减还要重新命名区域,很不方便。考虑可以用vba实现动态更改命名区域(即A,B,C的大小),但小弟不才,目前无法实现。
考虑到还要与其他表格联系,便于扩展,想用数据库实现以上功能,发现困难更大,还望高手指点!谢谢!
欢迎回帖,或直接指导:QQ@EMAIL:liangxinhui@qq.com
谢谢!
[解决办法]
- SQL code
TRANSFORM Sum(a.职称A*b.职称A+a.职称B*b.职称B+a.职称C*b.职称c) AS f3OfSumSELECT b.部门FROM 表1 a ,表2 bGROUP BY b.部门PIVOT a.物品;