说明:思路用的很新奇,也对COUNTIF有了更深一步的了解,但是,对于百行数据运算速度特别低,不适合数据多的使用
当面对一堆数据,我们要提取一列的唯一值的时候,如果单纯用人为一个个判断,显然是不科学的,那么如何用index函数提取唯一值呢
工具/原料
- EXCEL2007以及以上版本
方法/步骤
-
新建一个空白的EXCEL工作表,而后打开
-
在A列输入人名,人名有重复,要求将唯一值提取到B列
-
首先我们在B2单元格输入公式=INDEX(A$1:A$99,MATCH(0,COUNTIF(B$1:B1,A$1:A$99),0))&"",而后按三键结束,就是同时按住ctrl+shift+enter,将公式转化为数组,而后我们可以看到,第一个人名,就出现在眼前
-
下拉B2公式,我们就将唯一值全部提取了出来放到B列
-
公式解释,首先我们将鼠标放到B2单元格,而后选中COUNTIF(B$1:B1,A$1:A$99),按住F9,我们可以看到,这部分的结果为{1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0,出现这样的结果的原因是因为第一个单元格的计算为在B1单元格内,先计算A1等于B1的个数,而后是A2,而后是A,这样一直计算到A30,形成30个数字,因为姓名值出现一次,所以只有第一个单元格为1,其他全部为0,而后用match函数查出第一次0出现的位置,就是第二个单元格,从而将符合条件数值提取出来
-
6
我们将鼠标放到B3单元格,而后而后选中COUNTIF(B$1:B1,A$1:A$99),按住F9,我们可以看到,{1;1;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0,这样提取出来的第一个0值的位置为3,就是第三行的数据
参考:https://jingyan.baidu/article/046a7b3e959ef3f9c27fa99d.html
转载于:https://wwwblogs/Formulate0303/p/11512663.html
更多推荐
EXCEL如何用公式提取一列中的唯一值和不重复值
发布评论