Excel中不同行数下按公司提取最高股东占比的方法
嘿,这个需求我日常处理Excel数据时经常碰到,给你两种实用的解决办法,看你更习惯哪种操作:
方法1:用基础Excel公式快速搞定
假设你的表格结构是首行是各个公司名称,下面每一列对应该公司的所有股东占比(比如B列是X公司的11个占比,C列是Y公司的7个占比):
- 找一个空白单元格(比如B列最后一行的下一个单元格),输入公式:
=MAX(B:B) - 按回车后,这个单元格就会显示X公司的最高股东占比——因为MAX函数会自动忽略首行的文本(公司名称),只计算下面的数值
- 把这个公式横向拖动到其他公司列的对应位置,就能一键得到所有公司的最高占比
如果担心首行文本影响(其实完全不会),或者想精准指定范围,比如X公司的占比在B2到B12,就用=MAX(B2:B12)。不过用整列的好处是,后续新增股东数据时,公式会自动更新结果,不用手动调整范围。
要是你的表格里存在错误值(比如#N/A)导致MAX返回错误,可以用更健壮的公式:=AGGREGATE(4,6,B:B)——这里4代表取最大值,6代表忽略所有错误值。
方法2:用Power Query批量处理(适合大量公司或动态更新)
如果你的公司数量很多,或者后续经常要更新股东数据,用Power Query会更高效,步骤如下:
- 选中你的整个数据区域(包括首行的公司名称),点击「数据」选项卡 → 「从表格/区域」(弹出对话框时,确认“我的表格有标题”已打勾)
- 进入Power Query编辑器后,选中所有公司列(比如B到Z列),点击「转换」选项卡 → 「转置」——这一步会把公司名变成第一列,所有股东占比统一到第二列
- 选中第一列(现在是公司名),点击「转换」选项卡 → 「填充」→ 「向下」——这样每个股东占比行都会对应正确的公司名称
- 点击「开始」选项卡 → 「分组依据」,按以下设置填写:
- 分组列:选择第一列(公司名)
- 新列名称:填「最高股东占比」
- 操作:选择「最大值」
- 列:选择转置后的第二列(股东占比列)
- 点击「确定」后,你就能看到每个公司对应的最高占比了,最后点击「关闭并上载」,结果会自动生成在新的工作表里
后续只要原数据更新,右键点击结果表格 → 「刷新」,就能自动同步最新的最高占比,非常省心。
内容的提问来源于stack exchange,提问作者Geert
相关产品推荐
相关产品推荐

