用EXCEL做例如满足,A1=123 ,A2=234,组合成1234。去掉重复的2和3

公式做不了,vba程序改怎么写呢?... 公式做不了,vba程序改怎么写呢 ? 展开
 我来答
苗乔恩
科技发烧友

2017-09-15 · 电脑数码,办公应用爱好者。
苗乔恩
采纳数:9706 获赞数:14591

向TA提问 私信TA
展开全部
  1. 公式为:

    =IFERROR(IF(FIND("0",A1&B1),0),"")&IFERROR(IF(FIND("1",A1&B1),1),"")&IFERROR(IF(FIND("2",A1&B1),2),"")&IFERROR(IF(FIND("3",A1&B1),3),"")&IFERROR(IF(FIND("4",A1&B1),4),"")&IFERROR(IF(FIND("5",A1&B1),5),"")&IFERROR(IF(FIND("6",A1&B1),6),"")&IFERROR(IF(FIND("7",A1&B1),7),"")&IFERROR(IF(FIND("8",A1&B1),8),"")&IFERROR(IF(FIND("9",A1&B1),9),"")

  2. 如下图所示:

追问
我的意思是按照出现数字的顺序排列,后面出了前面的就清掉,  你这种的最终结果无非就是0123456789
追答
公式做不了你要求的情况。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Batman201
2017-09-16 · TA获得超过751个赞
知道小有建树答主
回答量:885
采纳率:57%
帮助的人:149万
展开全部

这个用公式很难实现,要用vba程序。

给你做了一个VBA函数

Public Function MergeText(c1 As Range, c2 As Range) As String

Dim s1 As String, s2 As String, ss As String

Dim i As Integer, sLen As Integer

s1 = c1.Text

s2 = c2.Text

sLen = Len(s2)

For i = 1 To sLen

    ss = Mid(s2, i, 1)

    s1 = Replace(s1, ss, "")

Next i

MergeText = s1 & s2

End Function
 
Alt+F11打开VBA编辑器,然后插入一个模块,把代码复制到模块中 
然后在EXCEL中写入公式就可以了,比如C8=MERGETEXT(A8,B8)

追问
结果已经出来了。但因为有很多行,  用vba函数自动带出的结果来老是出错, 每次都得复制粘贴才能恢复,这个什么原因呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式