网站首页 > 教程文章 正文
还在为Excel复杂计算反复拖拽公式?
用数组公式,一个公式就能搞定整列数据!
今天分享8个超实用的数组公式案例,搭配避坑指南,新手也能轻松拿捏!
一、什么是数组公式?一句话秒懂!
普通公式:一次计算一个单元格(如=A1+B1)
数组公式:同时处理一组数据**,用花括号{}包裹(需按Ctrl+Shift+Enter三键结束输入!)
场景:批量匹配数据、多条件计算、提取不重复值...
二、8大实战案例:从入门到封神!
1多条件求和:替代SUMIFS的终极方案
需求:统计“销售部”且“产品A”的总销售额
{=SUM((A:A="销售部")*(B:B="产品A")*C:C)}
解析:
- (A:A="销售部") 判断部门是否为销售部,返回TRUE/FALSE数组
- * 相当于AND,多个条件相乘
- SUM 汇总符合条件的销售额
注意:输入完公式按Ctrl+Shift+Enter,Excel自动添加{}!
2多条件查找:比VLOOKUP更强悍!
需求:根据“部门”和“姓名”查找工号
{=INDEX(D:D,MATCH(1,(A:A="销售部")*(B:B="张三"),0))}
解析:
- MATCH 用1作为查找值,匹配同时满足两个条件的行号
- INDEX 根据行号提取对应工号
3提取不重复值:告别高级筛选!
需求:从一列数据中提取唯一值
{=IFERROR(INDEX(A:A,SMALL(IF(MATCH(A:A,A:A,0)=ROW(A:A),ROW(A:A),""),ROW(1:1))),"")}
解析:
- IF(MATCH(A:A,A:A,0)=ROW(A:A) 标记首次出现的行号
- SMALL 按从小到大顺序提取行号
- IFERROR 处理最后空值报错
4隔列求和:复杂区域轻松汇总
需求:每隔一列求和(如B、D、F列)
{=SUM((MOD(COLUMN(B:F),2)=0)*B:F)}
解析:
- MOD(COLUMN(B:F),2)=0 判断列号是否为偶数
- * 筛选出目标列,SUM 汇总
5按条件计数:替代COUNTIFS的灵活方案
需求:统计“销售额>1000”且“产品B”的记录数
{=SUM((C:C>1000)*(B:B="产品B")*1)}
解析:逻辑同多条件求和,*1将TRUE/FALSE转换为1/0
6动态排名:忽略隐藏行的精准排序
需求:按销售额排名,但不统计隐藏行数据
{=RANK(C2,IF(SUBTOTAL(3,OFFSET(C$2:C$100,ROW(C$2:C$100)-ROW(C2),0,1)),C$2:C$100))}
解析:
- SUBTOTAL(3,...) 判断单元格是否可见
- OFFSET 动态生成数据区域
7合并单元格批量填充:拒绝手动输入!
需求:合并单元格快速填充对应数据
{=IF(B2<>"",B2,INDEX($B$2:$B$10,MATCH(1,0/(B$2:B1<>""),0)))}
解析:
- 非空单元格直接返回数据
- 空单元格用INDEX+MATCH查找上一个非空值
8字符串拆分:替代分列功能的高级玩法
需求:将“苹果,香蕉,橙子”拆分为单独单元格
{=TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",99)),(ROW(1:1)-1)*99+1,99))}
解析:
- SUBSTITUTE 替换逗号为空格
- MID+ROW 逐个提取字符
三、数组公式避坑指南:90%的错误都在这里!
1 忘记三键结束:必须按Ctrl+Shift+Enter,手动输入{}无效!
2 数据区域过大:避免整列引用(如A:A),指定明确范围(如A1:A100)
3 内存不足:复杂数组公式慎用,可拆分步骤用辅助列过渡
4 公式嵌套过多:用F9分段调试,查看中间结果是否正确
四、效率提升技巧:数组公式+其他功能联动
- 搭配名称管理器:将重复数组公式定义为名称,简化输入
- 结合数据验证:用数组公式生成动态下拉选项
- 批量应用:选中整列输入公式,三键结束自动填充
互动时间:你最想用数组公式解决什么难题?
评论区留言,抽3人送《数组公式速查表+案例文件》!
#Excel数组公式 #职场干货 #数据分析 #办公技巧
关注我,下期揭秘《Excel Power Query数据清洗全流程》!
猜你喜欢
- 2025-06-12 二十、Java数组(java实现数组)
- 2025-06-12 十大经典排序算法-堆排序,计数排序,桶排序,基数排序
- 2025-06-12 3分钟短文 | PHP 根据值移除数组元素,哪个方法最简单?
- 2025-06-12 JAVA程序员常用的几个工具类(java程序员主要工作内容)
- 2025-06-12 C# 基础知识系列- 3 集合数组(c#集合排序)
- 2025-06-12 JUnit5学习之三:Assertions类(junit5 assert)
- 2025-06-12 打工人私藏的4个Excel函数秘籍,效率提升3.7%
- 2025-06-12 稀疏数组——前端电子表格中的应用实战
- 2025-06-12 最快清除数组空值?分享 1 段优质 JS 代码片段!
- 2025-06-12 excel这个复杂数组公式怎么读?(excel数组公式怎么复制)
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)