Access快速实现排列组合,秒杀Excel
2017-04-16 16:39阅读:
Problem:
有A-E五列数据

需要生成以下所有可能的排列组合,用于Excel报表的辅助数据。
那么有多少种排列组合呢,高中数学告诉我们,A列4个选项,B列6个,C列5个,D列3个,E列4个,一共有4*6*5*3=1440种组合。用Excel怎么实现呢?需要做辅助数列,然后用Index()函数遍历每一列循环取数,
不过缺点就是过程还是有点复杂。
Solution
排列组合可以借用Acce
ss里面的Query,利用表连接实现,在SQL
query中,如果没有定义共同的连接列,直接连接两个表,就会返会所有的排列组合,这恰恰就是我们需要的。
Steps:
1:把排列组合选项copy到Access,命名该表为Data
2:输入以下的SQL,点击运行即可。So easy!
如下为SQL代码示例:
备注:在where条件中添加了 is not null 是为了排除掉值为空白的组合。
-----------------------------------------------------------------------------------------------------
SELECT DISTINCT T1.A, T2.B, T3.C, T4.D, T5.E
FROM data AS T1, data AS T2, data AS T3, data AS T4, data AS
T5
WHERE T1.A is not null and T2.B is not null and T3.C is not null
and T4.D is not null and T5.E is not null;
总结:Excel和Access各有所长,善于利用两者的长处将会事半功倍,远远强于只会其中一枚技能。