跳至主要内容

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


缘起

上周,相关部门要求我们公司填报某表格。该表格大部分和我们公司原有表格一致,只需要复制粘贴就可以。只有某一列资料是需要将我们公司表格中几列数据按照一定条件合并起来。这真是难到我了,最笨的方法当然是人工筛选,然后复制粘贴。不过由于几千行的数据实在太多,因此还是希望有更简便的方法。上网猛搜一顿,终于找到了解决办法。在寻找的过程中,我找到的比较新的资料都是视频,而相关文章用的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 代理任务之二 一支海盗船队从热那亚出发来攻击威尼斯,将其阻止。 这个任务我反复

《欧陆风云4》佛罗伦萨战报

  版本设置  Steam 1.31 正版 。无“利维坦”资料片 铁人模式,普通难度,历史幸运 游玩目标 完成“The Prince of Egypt”成就——作为佛罗伦萨,成立埃及。 成立埃及的条件 首都在开罗 主流文化是“埃及” 拥有“Dumyat”“Iskandariyya”“Rashid”“Qahirah”“法尤姆”的核心 行政可以至少 20 级 从 1.26 开始,成立意大利以后不能再成立埃及。 成立埃及条件 托斯卡纳理念 托斯卡纳传统 发展成本 −10% 年度教廷影响力 +2 托斯卡纳野心 训练度 +5% 理念 文艺复兴的起源地 科技花费 −5% 理念花费 −5% 契约佣兵 雇佣兵维护 −15% 托斯卡纳银行业 每年利率 −0.5 艺术赞助人 年度威望 +1 自由港 贸易效率 +15% 行政改革 生产效率 +10% 领土扩张 全国人力修正 +25% 局后分析 整盘玩下来,这个成就并不难完成。原因有三: 点数充足。佛罗伦萨拥有独特政体“意大利执政团”,这种政体任期长达 12 年,配合政府改革第三项“抽签”可以做到终身制。而继承人基本属性都很高。这保证了如果不是疯狂扩张,点数基本是溢出的。 金钱充足。佛罗伦萨作为北意大利国家,开局稍微扩张一下,很容易在“威尼斯”和“热那亚”两个贸易节点获取大量金钱。整局基本不会缺钱。 人力充足。佛罗伦萨的国家理念有减少雇佣兵花费和增加人力修正,配合行政理念和财阀理念,陆军中后期大多是雇佣兵,本国人力基本不掉。 点数、钱和人力都不缺,因此整局游玩体验非常好。只是成立埃及的条件中有“行程科技至少 20 级”一项,所以时间会拖得比较往后。而游玩过程中唯独需要注意的是外交情况。 和神罗皇帝的关系 这也是任何神罗国家或者欧洲国家需要考虑的事情。我全局和奥地利结盟,这样初期吃北意大利的土地,它不会让你归还帝国领土。 和教宗国的关系 如果要成立意大利,必须拥有罗马的核心。成立意大利不是这局的主要目标,我是最后才攻击教皇国。否则的话,主流信仰是天主教,又占有罗马会有 Debuff。 1444年-1700年 执政256年 12位美第奇家族执政 本局神罗皇帝 成立意大利条件 本局截图   任务树附带大量宣称 抱紧奥皇的大腿 每次帝国事件 选择都会和奥皇相悖 好虚o(╯□╰)o 借奥皇之手铲除威尼斯 以吞并附庸来防止侵略扩张 1524年成为列强