excel表格公式问题

 我来答
Kevin_0010
2019-10-14 · TA获得超过537个赞
知道小有建树答主
回答量:540
采纳率:82%
帮助的人:24.5万
展开全部

如果仅20行,使用这个方法,比较简单易懂,不用动脑筋,如下:

使用公式

=A1&IF(COUNTIF($A$1:A2,A2)=1,A2,"")&IF(COUNTIF($A$1:A3,A3)=1,A3,"")&IF(COUNTIF($A$1:A4,A4)=1,A4,"")&IF(COUNTIF($A$1:A5,A5)=1,A5,"")&IF(COUNTIF($A$1:A6,A6)=1,A6,"")&IF(COUNTIF($A$1:A7,A7)=1,A7,"")&IF(COUNTIF($A$1:A8,A8)=1,A8,"")&IF(COUNTIF($A$1:A9,A9)=1,A9,"")&IF(COUNTIF($A$1:A10,A10)=1,A10,"")&IF(COUNTIF($A$1:A11,A11)=1,A11,"")&IF(COUNTIF($A$1:A12,A12)=1,A12,"")&IF(COUNTIF($A$1:A13,A13)=1,A13,"")&IF(COUNTIF($A$1:A14,A14)=1,A14,"")&IF(COUNTIF($A$1:A15,A15)=1,A15,"")&IF(COUNTIF($A$1:A16,A16)=1,A16,"")&IF(COUNTIF($A$1:A17,A17)=1,A17,"")&IF(COUNTIF($A$1:A18,A18)=1,A18,"")&IF(COUNTIF($A$1:A19,A19)=1,A19,"")&IF(COUNTIF($A$1:A20,A20)=1,A20,"")

去重合并

如果是只想在一个单元格用公式得出结果,Excel 2013以前貌似只能借助VBA自定义函数实现(操作起来倒也简单,就是文件要保存成xlsm),好用的TEXTJOIN函数是Excel 2016才出现的,有条件升级一下也可以考虑使用。
如果不升级,不用VBA,可以通过加1个辅助列处理,如数据在A1:A5000,则
B1=A1
B2=IF(COUNTIF($A$1:A2,$A$1:$A$5000)=1,B1&$A$1:$A$5000,B1)
B2公式复制到B5000,这样就能在B5000得到答案。这个方法不需要考虑A列是什么数据类型,只要合并起来总字符数不超过32767即可。

这种方法逆序也很容易,就是
B1=IF(COUNTIF($A1:$A$5000,$A$1:$A$5000)=1,B2&$A$1:$A$5000,B2)
B1公式复制到B4999,
B5000=A5000
即可在B1得到答案。

正逆序去重合并(辅助列法)

以上希望能帮上忙!

更多追问追答
追问
5000行
追答
行数太多,需要换一个方式。请问一下内容应该不是全部一位数字吧?大概会有哪些内容?数字还是有文本?只要在一个单元格体现结果吗?
退休画线工
2019-10-13 · 知道合伙人软件行家
退休画线工
知道合伙人软件行家
采纳数:5411 获赞数:27015
1981年毕业于湖南大学,从事化工设计30多年,精于工程设计

向TA提问 私信TA
展开全部

如果Excel的版本是2019或365,则从上往下的公式极为简单:

B20=TEXTJOIN(,,IF(FREQUENCY(A:A,A1:A20)>0,A1:A20,""))

追答

从下往上的公式要复杂很多,必须先反数字倒序。如图

B23=TEXTJOIN(,,IF(FREQUENCY(A:A,SUBTOTAL(9,OFFSET(A1,COUNT(A:A)-ROW(INDIRECT("1:"&COUNT(A:A)))+1,,)))>0,SUBTOTAL(9,OFFSET(A1,COUNT(A:A)-ROW(INDIRECT("1:"&COUNT(A:A)))+1,,)),""))

同时按Ctrl+Shift+Enter三键输入数组公式

PS:C21、E21是用Power Query得到顺序和逆序不重复数字,也是一个不错的方法。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
舍泪莫弃
2020-04-11 · TA获得超过118个赞
知道小有建树答主
回答量:79
采纳率:100%
帮助的人:38.1万
展开全部
数组公式
=IFERROR(IF(LARGE((FREQUENCY(A1:A19,(ROW(A19)-ROW(A1:A19))%%+A1:A19)>0)*ROW(A1:A20)*10^8+A1:A20,COLUMN($A$1:$O$1))<10^8,"",--RIGHT(LARGE((FREQUENCY(A1:A19,(ROW(A19)-ROW(A1:A19))%%+A1:A19)>0)*ROW(A1:A20)*10^8+A1:A20,COLUMN($A$1:$O$1)),8)),"")&=IFERROR(IF(LARGE((FREQUENCY(A1:A19,(ROW(A19)-ROW(A1:A19))%%+A1:A19)>0)*ROW(A1:A20)*10^8+A1:A20,COLUMN($A$1:$O$1))<10^8,"",--RIGHT(LARGE((FREQUENCY(A1:A19,(ROW(A19)-ROW(A1:A19))%%+A1:A19)>0)*ROW(A1:A20)*10^8+A1:A20,COLUMN($A$1:$O$1)),8)),"")&=IFERROR(IF(LARGE((FREQUENCY(A1:A19,(ROW(A19)-ROW(A1:A19))%%+A1:A19)>0)*ROW(A1:A20)*10^8+A1:A20,COLUMN($A$1:$O$1))<10^8,"",--RIGHT(LARGE((FREQUENCY(A1:A19,(ROW(A19)-ROW(A1:A19))%%+A1:A19)>0)*ROW(A1:A20)*10^8+A1:A20,COLUMN($A$1:$O$1)),8)),"")&=IFERROR(IF(LARGE((FREQUENCY(A1:A19,(ROW(A19)-ROW(A1:A19))%%+A1:A19)>0)*ROW(A1:A20)*10^8+A1:A20,COLUMN($A$1:$O$1))<10^8,"",--RIGHT(LARGE((FREQUENCY(A1:A19,(ROW(A19)-ROW(A1:A19))%%+A1:A19)>0)*ROW(A1:A20)*10^8+A1:A20,COLUMN($A$1:$O$1)),8)),"")&=IFERROR(IF(LARGE((FREQUENCY(A1:A19,(ROW(A19)-ROW(A1:A19))%%+A1:A19)>0)*ROW(A1:A20)*10^8+A1:A20,COLUMN($A$1:$O$1))<10^8,"",--RIGHT(LARGE((FREQUENCY(A1:A19,(ROW(A19)-ROW(A1:A19))%%+A1:A19)>0)*ROW(A1:A20)*10^8+A1:A20,COLUMN($A$1:$O$1)),8)),"")
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
us7ja0
2019-10-13 · TA获得超过126个赞
知道小有建树答主
回答量:255
采纳率:50%
帮助的人:39.7万
展开全部
这个确实是用VBA很简单,运算速度也快,这个应该是用于彩票分析吧,十年前我就是用相当类似你这个思路解决七星彩,也采用的vba,你试一下前面老师给的代码,看看能否解决
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
情深意浓sqh
2019-10-12 · TA获得超过119个赞
知道答主
回答量:607
采纳率:0%
帮助的人:18万
展开全部
先手动输入两行,然后选中两行,将右下角的十字往下拖
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式