之前我们介绍了列表数据处理中的交集和差集: 今天我们介绍并集的自定义函数。 两个集合A和B的并集,指的是在A或B中出现过的元素构成的集合。 比如, 显然,a, b, c, d, e在A中出现过,b,f,e在B中出现过,它们都应该是集合A和集合B并集中的元素。 这里很容易就会简单的采用VSTACK函数合并两个集合,
结果如下, 看上去得到结果了。 但是要注意,这里b和e出现了两次(一次代表A,一次代表B)。 但是根据并集的定义,它们只能出现一次,即这个并集应该包含下面的元素: {a; b; c; d; e; f} 一个非常符合直觉的想法就是去重。 对上面的VSTACK函数的结果进行去重操作:
就可以得到期望的结果: 这个并集的实现非常简单,
调用时使用下面的公式:
我们在一开始的分析中针对一个元素在两个集合中都出现这种情况,采用了去重这种操作。但是现实中我们还是会遇到需要保留的情况。甚至,同一个元素在两个集合中分别出现多次。 比如,如果原来的集合A和集合B的数据如下: 这里的集合A中包含两个b,上面的去重公式得到的结果如下: 结果中只含有一个b,但是这次,我们期望的是结果中包含集合A和B中的所有元素。 当然,直接用VSTACK就可以了。 不过我们如何设置自定义函数,从而使得在调用时可以自行决定是否去重呢? 这里我们可以使用缺省参数。 修改函数定义如下:
参数中加入一个[func],用方括号[]表示该参数可以省略。 然后在程序中判断该参数,如果省略了,就表示直接合并,否则就是用这个函数对合并结果去重。(当然,这个函数只能使用UNIQUE才会得到需要的结果)。 详情咨询客服(底部菜单-知识库-客服) Excel+Power Query+Power Pivot+Power BI 自定义函数 底部菜单:知识库->自定义函数 面授培训 底部菜单:培训学习->面授培训 Excel企业应用 底部菜单:企业应用 |
|