1职场实例
小伙伴们大家好,今天我们来讲解一下如何通过函数公式的方法来统计一列数据唯一值的个数。
如下图所示:
A列为一列产品编码名称,我们发现其中有一些编码是重复出现的,现在我们想要在C2单元格快速的统计出不重复值(唯一值)的个数。
2解题思路
这个问题其实并不难,我们完全可以通过MATCH函数、ROW函数、N函数和SUM函数实现快速统计唯一值个数的问题。
我们在C2单元格输入函数公式:
=MATCH(A2:A7,A2:A7,0)
MATCH函数用于在范围单元格中搜索特定的项,然后返回该项在此区域中的相对位置。
=MATCH(搜索键值, 范围, [排列顺序])
参数释义:
搜索键值(必填):想要查找的值。
范围(必填):可服务器托管网能包含所要查找数值的连续的单元格区域,仅支持单行或单列,不支持多行/多列。
排列顺序(选填):1 为默认类型,此时假设范围已按升序排序,返回小于等于搜索值的最大值。0 表服务器托管网示完全匹配,在范围未排序的情况下需要使用此方式。-1 是指假设范围是按降序排序时,返回大于等于搜索值的最小值。
目的是利用MATCH函数精确匹配的查询方式,分别查找A2:A7单元格区域中的每个数据在该区域(A2:A7)中首次出现的位置,例如以“ASC123”为例,MATCH函数查找A2单元格和A4单元格在A2:A7单元格区域中的位置均为1,也就是“ASC123”在A2:A7单元格区域中首次出现的位置。具体返回结果原理如下图所示:
我们继续完善补充C2单元格中的函数公式:
=MATCH(A2:A7,A2:A7,0)=ROW(A1:A6)
ROW(A1:A6)函数部分用于得到1~6的连续的自然数序列,其结果以内存数组的形式存储{1;2;3;4;5;6},行数与A列的数据行数一致。用MATCH函数的结果等于ROW函数的结果,即两个结果数组中各个元素进行一一对比的逻辑判断。
我们可以观察到,只有数据第一次出现的时候,用MATCH函数得到数据出现的位置才与ROW函数生成的序列值对应相等。如果数据首次出现,则比较结果为TRUE,否则为FALSE。具体返回结果原理如下图所示:
我们继续完善补充C2单元格中的函数公式:
=N(MATCH(A2:A7,A2:A7,0)=ROW(A1:A6))
因为逻辑值TRUE的个数代表A2:A7单元格区域中不重复值的个数。所以我们利用N函数将数组中的元素逻辑值TRUE和FALSE分别转换为1和0。具体返回结果原理如下图所示:
我们继续完善补充C2单元格中的函数公式:
=SUM(N(MATCH(A2:A7,A2:A7,0)=ROW(A1:A6)))
因为内存数组中的元素1数字值的个数代表A2:A7单元格区域中不重复值的个数,所以我们使用SUM函数对数组中的各个元素进行相加求和即可得到唯一值的个数。具体返回结果原理如下图所示:
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
原文地址: TornadoFx 页面之间的数据传递 – Stars-One的杂货小窝 和Android开发一样,经常遇到两个页面之间需要进行数据的交互传输,本文讲解下TornadoFx框架中,页面之间的数据传递步骤方法 方法1 – 使用构造方法 首先,我们知道…