跳至主要内容

将符合条件的多个单元格合并


缘起

上周,相关部门要求我们公司填报某表格。该表格大部分和我们公司原有表格一致,只需要复制粘贴就可以。只有某一列资料是需要将我们公司表格中几列数据按照一定条件合并起来。这真是难到我了,最笨的方法当然是人工筛选,然后复制粘贴。不过由于几千行的数据实在太多,因此还是希望有更简便的方法。上网猛搜一顿,终于找到了解决办法。在寻找的过程中,我找到的比较新的资料都是视频,而相关文章用的OFFICE版本实在太老,因此我决定把整个解决方法写成本文。

  • 因为公司资料隐私的问题,我用最近在玩的EU4的省份数据来代替演示。

公司初始表格如下图:

最终要求填写的格式:

参考资料

B站视频:用VLOOKUP函数辅助将乱序数据相同部门的多个姓名合并 

我是看了这个视频最终解决了问题,如果喜欢看视频,直接看视频就好。

软件版本

本文写于2022年4月2日,使用的软件版本为office 365(2203)

最终公式

=B2&IFERROR("/"&VLOOKUP(A2,A3:C30,3,0),"")

知识要点

1.数据引用

本质上,整个解决思路是利用VLOOKUP函数将数据倒序累加的过程。因此,必须首先在单元格C2引用B2「省份」的数据。否则在下一步使用VLOOKUP函数时候,将因为查询不到数据而报错。

=B2

2.VLOOKUP函数的使用

=VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])

按照我自己对该函数的粗浅理解就是:在某个范围内(参数二),去找某某人(参数一),将属于某某人的某某物(参数三)拿回来。参数四一般忽略就好。

  • 注意事项:查找值必须位于返回值的左侧。

在本例中,公式写作为:

=VLOOKUP(A2,A3:C30,3,0)

这里对其用法做了两个小小的变形(这也是我一开始没想明白的地方):

  • 查找范围(参数二)不包括本行。即总是从下行开始查找
  • 查找的某物(参数三)是公式所在列(汇总列)。

以C2单元格来说明:从A3:C30这个范围内(参数二),去找「安得拉」(参数一),将其对应的「汇总」单元格值(参数三),填写到C2单元格。

3.IFERROR函数的使用

=IFERROR(value, value_if_error)

该函数比较简单,第一个参数是需要检查的公式,第二个参数是当出现错误时,需要显示的值。

在这里需要使用的原因是:如果不使用,在某类「区域」列最后一行时,因为往下VLOOKUP函数再也搜寻不到该「区域」数据,而会报错。如下图:

4.和字符「&」的使用

因为最终表格格式要求,汇总的省份之间必须用「/」相隔,因此我们需要使用「&」符。

这样,就得出了开头的最终公式。呈现的效果如下图:

5.去除重复数据

到这里,相较最终表格的要求,我们只差把重复数据去了。因为逆向累加的原因,因此我们实际只需要每个「区域」的第一行。因此将「区域」和「汇总」另外复制一份,全部选中后,选取「数据」选项卡——「删除重复值」——选择「区域」。这样就默认只保留了每个「区域」的第一行。就能得到我们最终想要的格式了。

其他方法

除了这个方法,我还在网上找到了用「VBA」自定义函数的解决方法,不过我看不懂,只能把链接放在下方,留给需要的人。

Excel按条件合并多个单元格的内容到指定单元格内

评论

此博客中的热门博文

《欧陆风云 4》勃兰登堡战报

开局设置 1.29.3.0 正版 + 11个资料片。无“第三罗马”、“统治吧,不列颠尼亚”、“达摩”、“黄金世纪” 铁人模式,普通难度,历史幸运

『威尼斯崛起』剧情任务攻略

游戏评述 平庸之作,无甚新意。任务模式设计过于粗陋 剧情任务 1.1 欢迎来到威尼斯熟悉 基本控制,然后将船队航行到萨拉。 1.2 给威尼斯的陶器 在萨拉买入40单位陶器,然后运至威尼斯卖出。 1.3 新船 将在威尼斯的新船,加入到你的船队。 1.4 给拉古萨的食物 在雅典和杜拉佐共买入为100单位的谷物与水果,并于拉古萨卖出。 必须在这两个城市购买才算。 1.5 达到「批发商」等级 满足条件后,去威尼斯的参议院「晋升」。 1.6 从威尼斯到罗马的货物 在威尼斯的市政府「任务」界面,接受逹纳尔尼的任务,然后去罗马。 1.7 新的贸易伙伴 取得两个城市的购买许可证。 1.8 叔叔马科和新船队 在威尼斯组建一支新船队,让其担任船长。 1.9 达到「商人」等级 1.10 君士坦丁堡的交易权 购买君士坦丁堡的「交易许可证」。 1.11 迷信 在拉古萨取得建筑许可,建立一个仓库,然后建立一个教堂。 1.12 君士坦丁堡的间谍 携带40门大炮与150名船员,并指定护卫舰后航行至坐标处。然后运至君士坦丁堡。 大炮是船只本身自带,船员在贸易界面「设备」栏招募。 目的地在威尼斯东北方,小地图有小黄点提示。 在君士坦丁堡附近,会有带星号的海盗船,必须与之交战,否则任务进行不下去。 1.13 藏宝图 集齐剩余5片碎片后,找到宝藏。 碎片在小地图上标示为小黄点。 宝箱实际位置在雅典东南方。 1.14 生产 分别在威尼斯建设2个盐田,雅典2个葡萄园。 翻译问题,2笔生意容易引起歧义。 1.15 设立贸易路线 在威尼斯和雅典之间建立一条贸易路线。 1.16 总督代表 在科罗尼和那不勒斯之间寻找可疑船队。 可以在科罗尼左侧海域等待目标船只。 必须俘获最大船只,不能击沉。 1.17 达到「大商人」等级 1.18 从锡拉库萨来的葡萄酒 从锡拉库萨运80单位葡萄酒到威尼斯出售。 2.1 来自东方的危险 达到「议员」等级。 2.2 代理任务之一 两支间谍船队从拉古萨出发,在到达热那亚之前,拦截到它。 是前后两支船队 间谍船队一旦到达热那亚,任务就会失败 任务前一定要多存档 2.3 制成品 分别建造4座打铁场、2座锯木厂、4座铸造厂。 2.4 代理任务之二 一支海盗船队从热那亚出发来攻击威尼斯,将其阻止。 这个任务我反复