欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科技知识

Excel如何提取两列中不重复值之数组公式法

科普小知识2022-03-26 23:36:03
...

Excel提取两列中不重复(唯一)值之数组公式法,将用到INDEX、SMALL、IF、ROW、MATCH这几个函数。

方法/步骤

我将通过数组公式在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的第二个参数也为数组,返回对应位置的行号,对应的位置是逻辑值真。