网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月07日漏签0天
excel吧 关注:281,885贴子:1,556,452
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 14回复贴,共1页
<<返回excel吧
>0< 加载中...

如何用公式在C列显示A列中B列没有的不重复数据

  • 只看楼主
  • 收藏

  • 回复
  • hou_gz77
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如图:在C列显示“C"、"D"。


  • 养家糊口真君
  • 日新月E
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
=IF(A1=B:B,"",A1),下拉


2025-12-07 06:57:22
广告
不感兴趣
开通SVIP免广告
  • eeroom
  • 见E勇为
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
直接用公式不好处理,需要增加好多辅助列,反而很复杂
比较好的办法是excel插件,我的QQ:1344206656


  • zw0783
  • 以E待劳
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
C1=INDEX(A:A,SMALL(IF(MATCH(A$1:A$7,A$1:A$7,)=ROW(A$1:A$7),ROW(A$1:A$7),4^8)+IF(ISNUMBER(MATCH(A$1:A$7,B$1:B$4,)),4^8,0),ROW()))数组公式,按Ctrl+Shift+回车结束


  • 555书生
  • E手遮天
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
=IF(ISERROR(INDEX($A$1:$A$7,SMALL(IF(ISNA(MATCH($A$1:$A$7,$B$1:$B$4,)),ROW($A$1:$A$7),65536),ROW(A1)))),"",INDEX($A$1:$A$7,SMALL(IF(ISNA(MATCH($A$1:$A$7,$B$1:$B$4,)),ROW($A$1:$A$7),65536),ROW(A1))))
三键结束,下拉,然后用高级筛选去重


  • 阆苑小生
  • 多才多E
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
公式很长很慢,用VBA很容易解决


  • 王仕鹏绝杀斯队
  • 以E待劳
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
http://pan.baidu.com/s/1ntJqzg9
试试看。


  • 奔跑的谷米
  • 平E近人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
新手交流
f(x) =IF(OR(A1=$B$1:$B$8),"",A1)
A列第个和第二列对比得到一个数组,只要有一个相同的,数组里就会有TRUE。
用OR函数,数组里只要有一个TRUE,就判定为TRUE。 也就是只要有重复的字母就会是TRUE。
用IF函数,
TRUE就显示为空,也就是“”。
FALSE,也就是没有重复的,就显示自身。

下拉,只能在对应行显示出不重复的字母。重复显示为空。
刚学函数,只做交流,不为解决问题。
现在知道的公式比较少,感觉不用数组的话,很难做到不用辅助列。
以我刚学的几个函数,有个想法,不过自己还实现不了。
假设g(x) =IF( f(x) ="",0,h(x) ),就是,如果前面的函数返回空值就显示为0,否则执行h(x)。
h(x)执行
A1=A1:$A$8,得出一个数组{TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE},
再前面加两个负号 “--”,得{1;1;0;0;0;0;0;0},里面有两个1,如果SUM下,就是数字2
下拉一格公式变成A2=A2:$A$8,最后得到是{1;0;0;0;0;0;0},SUM后得1
一直到A8=A8:$A$8,
最后得到下面数组。
A {1;1;0;0;0;0;0;0}
A {1;0;0;0;0;0;0}
B {1;1;0;0;0;0}
B {1;0;0;0;0}
C {1;1;0;0}
C {1;0;0}
D {1;1}
D {1}
把后面的数相加,得到
A 2
A 1
B 2
B 1
C 2
C 1
D 2
D 1
如果列加长,比如加上GGGGG,HHH对就一定是
G 5,
G 4,
G 3,
G 2,
G 1,
H 3
H 2
H 1
因为是h(x),是在f(x)不为空的情况下执行的。所以就会只算出C和D的
实际算的是
A 空
A 空
B 空
B 空
C 2
C 1
D 2
D 1
h(x)得出数字排序,
g(x) =IF( f(x) ="",0,h(x) )
g(x)得出2和1组成的数组。
然后再用函数只提取1所在的单元格,
这样就提出了单个的不重复的字母了。
当然这样提取出来的单个字母还在对应的单元格,并没有从最上向最下排列。想着是不是可以再用个其他的函数能让他从最上到下排列呢?
这是我目前所知道的函数想到的方法。
因为多层IF套用,我写的时候一直出错,括号什么的太多了。感觉这样是可以一个公式实现。
只是纯粹交流,不解决欠的问题哦


2025-12-07 06:51:22
广告
不感兴趣
开通SVIP免广告
  • 奔跑的谷米
  • 平E近人
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

纯粹没事练习,刚学两天,基本上什么都不太会


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 14回复贴,共1页
<<返回excel吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示