Question to say "I can!"

上海快三走势图:excel 去掉重复数据的方法

2013-12-19

假设原始数据在A列的A2:A10

B2数组公式:
?=INDEX(A:A,MIN(IF(COUNTIF(B$1:B1,A$2:A$10),4^8,ROW($2:$10))))&""

注意是数组公式, 输入方法为: 先在B2输入一个=号, 再粘贴=号后面的部分, 然后同时按
Ctrl+Shift+回车键 (俗称: "三键" , 结束)
下拉

注: 原始数据至少从第二行开始, 这是前提条件

公式虽然简单, 但解释起来却不容易,就从里向外说吧:

?COUNTIF(B$1:B1,A$2:A$10)
这个函数是依次判断A2,A3,…,A10在B列(公式所在单元格上方区域)出现的数次, 如果返回值为0, 说明没在B列没出现过, 相当于FLASE, 否则为TRUE(出现过)

?IF(COUNTIF(B$1:B1,A$2:A$10),4^8,ROW($2:$10))
IF语句判断如果COUNTIF()返回值不为0, 即当前公式所在单元格在A列已经出现过, 则返回值为4^8(即65536, 相当于一个极大的数或不可能有数据的单元格), 否则, 返回在A列没出现过的数据的行号, 这个行号由ROW($2:$10)生成的数组决定

?MIN(IF(COUNTIF(B$1:B1,A$2:A$10),4^8,ROW($2:$10)))
MIN这个函数负责将此公式单元格上方没有在A列出现过的, 而且又是IF得到的行号的最小的序数提供给INDEX, 这也是INDEX函数第二个参数的最后一个环节.

?&""
这个段代码可有可无, 目的的在INDEX()返回为0的时候, 将其转换为空值, 也就是不显示零值.

这样说有点抽象, 如果公式的哪段不明白, 可以在公式栏用鼠标涂黑, 然后按F9观察这段公式的计算结果, 慢慢想通了, 一点一点地, 整个公式也就明白了.

作者:admin | Categories:设计问题 | Tags: 、

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

  • 方言报站也是一种有意义的尝试 2019-05-22
  • 财经随笔:年近半百,“金融科技”仍是少年 2019-05-20
  • 山西寿阳:竹马戏演员的台前幕后 2019-05-19
  • 主城赏荷地图出炉 快带上相机出发 2019-05-19
  • 男人不安全了?日本读心美女机器人,你咋想的它全知道! 2019-05-03
  • 重庆市永川区:“1+8+X”模式探索基层人民调解新路子 2019-05-03
  • 春节我在岗:爸妈,儿子在军营给您们拜年了 2019-04-22
  • 传统文化,在中国文化里,居住是衡量一个家庭生活的基本因素。 2019-04-15
  • 俄韩就铺设途经朝鲜的天然气管道恢复磋商 2019-04-15
  • 经营者要想“我心换你心”,就要未雨绸缪,让不诚信的诱惑少一点,如此才能在市场中生存下来。反过来说,承担不起亏损就关门歇业,是否也是一种不诚信呢? 2019-04-11
  • 江西省能源集团公司党委副书记胡运生等2人被调查 2019-04-11
  • 乌鲁木齐:这个端午,他们的假日叫“坚守” 2019-03-29
  • 中国电信安康分公司60家智慧家庭便民服务中心盛大开业中国电信安康-最新活动 2019-03-28
  • 中心城区核心片组完成签约清零任务 2019-03-28
  • (Dos sesiones) Legislativo nacional de China concluye sesión anual Spanish.xinhuanet.com 2019-03-28
  • 325| 511| 918| 527| 110| 120| 885| 488| 868| 430|