Excel中提取两列中取不重复(唯一)值之数组公式法图解
Excel提取两列中不重复(唯一)值之数组公式法
将用到INDEX、SMALL、IF、ROW、MATCH这几个函数
工具/原料
excel 电脑
方法/步骤
我将通过数组公式在d1单元格输入数组公式然后向右、向下复制,返回a、b列中不重复的记录
match返回一个由24个元素组成的数组,元素的位置序号代表a1:a24中单元格从上到下位置顺序,元素的值代表a1:a24中单元格值在a1:a24中首次出现的从上到下的位置顺序数,元素数值相同代表出现不止一次,match的返回值将是这种形式的{1,2,3,1等等一共24个},
row的返回值是a1:a24中的行号组成的数组结果是{1,2,3,4,5,6一直到24}
等式返回的是逻辑值组成的数组{true,true,true,false等一共24个},true代表a1:a24中的值首次出现,false代表该位置的值不是首次出现
将上一步骤的等式剪切再剪切板中,然后输入if函数,第二个参数是row函数,第三个参数是一个很大的数字
然后将剪切板的内容复制到if的第一个参数的位置,如图所示
最后if函数的返回值将是24个数字组成的数组函数,除了9999999,其他的元素值代该位置的值是首次出现在a1:a24中,该值同时也是行号
将上一步输入的if函数剪切一下,然后输入small函数,small函数第二个参数是row函数,然后将鼠标定位到small第一个参数位置粘贴一下
small函数返回的是在if函数返回值序列中第一小的元素,整体公式向下复制还会返回第二小的元素等等
将上一步的small函数剪切一下,然后输入index函数,第一个参数是相对引用的a1到a24,第三个参数是1,第二个参数复制一下剪切的small函数
函数输入完成之后按ctrl+shift+回车,然后拖动填充柄向右复制一个单元格然后松开鼠标选中d1到e1单元格向下拖动填充柄直到
现在公式区域显示的就是a1到b24区域中不重复的记录
注意事项
MATCH($A$1:$A$24,$A$1:$A$24,0)=ROW($A$1:$A$24)要用绝对应用
MATCH($A$1:$A$24,$A$1:$A$24,0)=ROW($A$1:$A$24)意义是首次出现位置是否等于行号
IF(MATCH($A$1:$A$24,$A$1:$A$24,0)=ROW($A$1:$A$24),ROW($A$1:$A$24),9999999) if的第二个参数也为数组,返回对应位置的行号,对应的位置是逻辑值真