之前我們介紹了列表數據處理中的交集和差集: 今天我們介紹并集的自定義函數。 兩個集合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企業應用 底部菜單:企業應用 |
|