多条件去重,如果各个的条件列不连续出现,怎么办?
案例:将下图 1 中“姓名”和“菜品”两列组合去重,然后将唯一值提取到 F、G 列。
效果如下图 2 所示。
解决方案:开始今天的教程前,先教大家这个简单版本,即要去除的列排在一起,中间没有隔开其他列。
1. 在 F2 单元格中输入以下公式 --> 回车:
=UNIQUE(A2:B21)
公式释义:
提取出区域内两列组合的唯一值
但 unique 所提取区域中的两列必须是相邻的,如果隔开的就不行,会出错。比如下面这样。
2. 在 F 列中输入以下公式:
=UNIQUE(A2:A21,C2:C21)
下面是正确的做法。
1. 在 F2 单元格种输入以下公式 --> 回车:
=UNIQUE(HSTACK(A2:A21,C2:C21))
公式释义:
重点讲解一下 HSTACK 函数。
函数功能:
按顺序向水平方向追加数组,以返回更大的数组;
与之相对应的是 VSTACK 函数,向垂直方向追加数组
语法:
HSTACK(array1,[array2],...)
参数:
array1:必需,要追加的数组;
[array2],...:可选,要追加的其他数组
简言之,HSTACK 函数将原本不连续的列变成了连续区域,然后外层的 UNIQUE 函数就能进行多列组合去重。