当前位置: 首页 > 办公技巧 > 正文

办公图片组合技巧(Excel两列全部组合,5种方法,笛卡尔积!)

  • 叁碗诸角 叁碗诸角
  • 办公技巧
  • 2023-08-08 18:09:03
  • 0

最后收到这么一个求助,需要找出两列内容的全部组合,懂点编程或者数据分析的同学应该知道这玩意叫做“笛卡尔积”! 那么Excel中要如何处理这种需求呢?

处理方法有很多,我们简单写几种

▍365函数处理法

这里用到了一点基础知识,就是一行和一列组合,得到的结果就是一个二维结果,分别对应组合,也就是本题目的要求,如果公式看不懂,也没有关系,可以学习下面的其他方法!

TOROW: 区域转成一行 , TOCOL: 区域转成一列


=TOCOL(A1:A3&TOROW(B1:B4))


▍技巧操作法

利用复制-选择性粘贴-转置功能把其中的一行转成一行,然后输入下面的简单公式,主要一下相对引用,这点很重要,0基础的同学,可以阅读 引用方式


=E$1&$D2


▲ 遗漏了4,了解用法即可

第一步处理完,下一步我们怎么把区域转一列呢? 也是使用技巧操作! 具体看动画演示! 这里用的原理是循环迭代!

▼ 动画演示

如果技巧看不懂,也可以使用SQL,更加简单一些!

▍SQL解法

关于如何Excel中如何写SQL就不说了,方法比较多了,这里用的的是【数据】-【现有链接】的方式!

select * from [DT$A1:A3],[DT$B1:B4]

SQL如果查询多个表,多个表之间没有限定关系,那么结果就是笛卡尔积!

当然实现笛尔卡积,VBA、DAX和PQ都可以实现,下面我们使用VBA实现一下,其实就是简单的双循环,非常基础!

▍VBA解法

比较简单基础,我们循环即可,不使用数组,如果数据量较大,可以考虑使用数组来提高运行速度!

PQ中的处理方法也是使用链接和SQL基本差不多!

▍PowerQuery处理

PQ中也有类似VBA的循环,比如类似的双循环可以使用List.TransformMany 如果没有空值直接x&y 就是我们想要的结果,处理空值和类型问题,所以看上去长了点,其实是几种方法中最简单的!当然你也可以使用合并查询中的“完全外部”来处理也是可以的!

就说这么多吧,希望能给你带来灵感吧!


最新文章