如何将EXCEL表格编号相同的多行合并到同一行?

如图1,A列为编号,B列为姓名如何实现如图2E,F,G列那样显示?... 如图1,A列为编号,B列为姓名 如何实现如图2 E ,F, G列那样显示? 展开
 我来答
高效office办公
2019-12-23 · 专注分享职场office办公效率提升技巧
高效office办公
采纳数:273 获赞数:349

向TA提问 私信TA
展开全部

提供一种powerquery的解决思路:

let

源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],

更改的类型 = Table.TransformColumnTypes(源,{{"列1", Int64.Type}, {"列2", type text}}),

分组的行 = Table.Group(更改的类型, {"列1"}, {{"data", each _, type table [列1=number, 列2=text]}}),

自定义1 = Table.TransformColumns(分组的行,{"data",each   Text.Combine(_[列2],",")}),

按分隔符拆分列 = Table.SplitColumn(自定义1, "data", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"data.1", "data.2"}),

更改的类型1 = Table.TransformColumnTypes(按分隔符拆分列,{{"data.1", type text}, {"data.2", type text}})

in

更改的类型1

用法:

1.确保原始数据在Sheet1且被转换成了table格式(如下图所示,我的已经是表格,所以显示为灰色)

2.在【数据】选项卡上新建一个空白查询,如下图所示

把前面的代码复制粘贴进去,然后点击【全部刷新】,数据就自动加载到sheet2上了。

3.如果只操作一次且数据不多,建议用前面大神提供的数组公式,这样更快

4.如果需要经常这么操作,或者数据量达到几十万上百万乃至更多的级别,那么建议用上面的步骤建立一个powerquery模板,以后就只需要覆盖sheet1的数据然后刷新即可。甚至可以将数据源改造为来自于文件夹的文件,这样以后重复操作就只需要把原始文件丢进那个文件夹,然后打开模板文件刷新就得到最新结果了。

苗乔恩
科技发烧友

2019-11-10 · 电脑数码,办公应用爱好者。
苗乔恩
采纳数:9707 获赞数:14594

向TA提问 私信TA
展开全部
  1. 第一步,删除重复值:

  2. 第二步,公式筛选数据:

=INDEX($B:$B,SMALL(IF($A:$A=$E1,ROW($A:$A),4^8),COLUMN(A$1)))&""

数组公式,按ctrl+shift+enter产生花括号,下拉右拉填充。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yanxy0924
2019-11-10 · 知道合伙人互联网行家
yanxy0924
知道合伙人互联网行家
采纳数:7683 获赞数:18590

向TA提问 私信TA
展开全部

先将A列复制到E列

选择E列>功能区>数据>删除重复项>确定

这样E列只留下唯一值

F1输入

=INDEX($B:$B,SMALL(IF($A$1:$A$1000=$E1,ROW($1:$1000),4^8),COLUMN(A1)))&""

数组公式,先按住CTRL+SHIFT,最后回车,使得编辑栏公式两端出现花括号{ }

公式下拉再右拉到无数据

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式