Excel常用函数

内容分享4小时前发布
0 0 0

数学与统计函数

函数 作用 示例
SUM 求和
=SUM(B2:B10)
SUMIF 条件求和
=SUMIF(A:A,"销售",B:B)
SUMIFS 多条件求和
=SUMIFS(C:C,A:A,"销售",B:B,">1000")
SUMPRODUCT 数组乘积求和
=SUMPRODUCT(B2:B10,C2:C10)
AVERAGE 平均值
=AVERAGE(C2:C20)
AVERAGEIF 条件平均
=AVERAGEIF(A:A,"销售",C:C)
AVERAGEIFS 多条件平均
=AVERAGEIFS(C:C,A:A,"销售",B:B,">1000")
COUNT 统计数字单元格数
=COUNT(E2:E100)
COUNTA 统计非空单元格数
=COUNTA(E2:E100)
COUNTIF 条件计数
=COUNTIF(F:F,"迟到")
COUNTIFS 多条件计数
=COUNTIFS(A:A,"销售",B:B,">1000")
MAX 最大值
=MAX(G2:G30)
MIN 最小值
=MIN(G2:G30)
RANK.EQ 排名
=RANK.EQ(B2,B$2:B$20)
FREQUENCY 数据分布频率
=FREQUENCY(数据数组, 间隔点数组)
AGGREGATE 聚合计算(可忽略错误)
=AGGREGATE(9,6,A2:A100)
INT 取整
=INT(3.8)
返回 3
MOD 求余数
=MOD(10,3)
返回 1
ROUND 四舍五入
=ROUND(12.345,2)
返回 12.35
ROUNDUP 向上取整
=ROUNDUP(12.34,1)
返回 12.4
ROUNDDOWN 向下取整
=ROUNDDOWN(12.36,1)
返回 12.3
ABS 绝对值
=ABS(-5)
返回 5
SQRT 算术平方根
=SQRT(16)
返回 4
RAND 生成随机数(0~1)
=RAND()
RANDBETWEEN 生成指定范围随机整数
=RANDBETWEEN(1,100)

文本处理函数

函数 作用 示例
LEFT 从左截取文本
=LEFT(D2,6)
提取身份证前6位
RIGHT 从右截取文本
=RIGHT(D2,4)
提取后4位
MID 从中间截取文本
=MID(A2,3,2)
从第3位取2位
LEN 文本长度
=LEN(G2)
验证身份证位数
FIND 查找字符位置
=FIND("@",H2)
定位@符号
SEARCH 查找字符(不区分大小写)
=SEARCH("excel",A2)
TRIM 删除多余空格
=TRIM(I2)
清理导入数据
TEXT 格式化文本
=TEXT(C2,"aaaa")
日期转星期
CONCAT 合并文本
=CONCAT(A2:B2)
TEXTJOIN 合并文本(带分隔符)
=TEXTJOIN(",",TRUE,A2:A10)
SUBSTITUTE 替换文本
=SUBSTITUTE(F2,"iphne","iPhone")
REPLACE 替换指定位置文本
=REPLACE(A2,3,2,"**")
REPT 重复文本
=REPT("*",5)
返回
*****
CHAR 返回特殊字符
=A2&CHAR(10)&B2
插入换行符
TEXTSPLIT 文本拆分(Excel 365)
=TEXTSPLIT(A1, ",")

日期与时间函数

函数 作用 示例
NOW 当前日期时间
=NOW()
TODAY 当前日期
=TODAY()
DATE 组合日期
=DATE(2023,12,31)
YEAR 提取年份
=YEAR(TODAY())
MONTH 提取月份
=MONTH(TODAY())
DAY 提取日
=DAY(TODAY())
EDATE 指定日期前后月份的日期
=EDATE(TODAY(),1)
下个月今天
EOMONTH 某月最后一天
=EOMONTH(TODAY(),0)
当月最后一天
WORKDAY 工作日计算
=WORKDAY(D2,10)
10个工作日后的日期
NETWORKDAYS 工作日天数
=NETWORKDAYS(D2,E2)
计算项目工期
DATEDIF 日期差计算
=DATEDIF(A2,TODAY(),"Y")
计算工龄
WEEKDAY 返回星期几
=WEEKDAY(TODAY(),2)
周一返回1

逻辑函数

函数 作用 示例
IF 条件判断
=IF(D2>=60,"合格","补考")
IFS 多条件判断
=IFS(B2>90,"优",B2>80,"良",TRUE,"一般")
AND 与逻辑
=IF(AND(B2>60,C2<100),"达标","未达标")
OR 或逻辑
=IF(OR(D2="是",E2>1000),"通过","不通过")
NOT 非逻辑
=NOT(A2>10)
IFERROR 错误屏蔽
=IFERROR(VLOOKUP(F2,A:B,2,0),"未找到")
IFNA 屏蔽#N/A错误
=IFNA(VLOOKUP(F2,A:B,2,0),"未找到")
ISERROR 检查错误值
=IF(ISERROR(G2/H2),0,G2/H2)
ISNUMBER 检查是否为数字
=IF(ISNUMBER(A2),"数字","文本")
ISTEXT 检查是否为文本
=IF(ISTEXT(B2),"文本类型","其他")

查找与引用函数

函数 作用 示例
VLOOKUP 垂直查找
=VLOOKUP(F2,A:B,2,FALSE)
HLOOKUP 水平查找
=HLOOKUP(F2,A1:Z10,3,FALSE)
INDEX 定位数据
=INDEX(A1:Z100,5,3)
MATCH 查找位置
=MATCH("张三",A:A,0)
INDEX+MATCH 灵活双向查找
=INDEX(B:B,MATCH(F2,A:A,0))
XLOOKUP 新一代查找
=XLOOKUP(F2,A:A,B:B,"未找到",0)
FILTER 动态筛选
=FILTER(A2:B100,(C2:C100="是")*(D2:D100>100))
SORT 动态排序
=SORT(A2:B100,2,-1)
UNIQUE 提取唯一值
=UNIQUE(A2:A100)
SEQUENCE 生成序列
=SEQUENCE(10,1,1,1)
LET 定义变量
=LET(x,A1*2,y,B1+3,x+y)
LAMBDA 自定义函数
=LAMBDA(x,y,x*y+10)(A1,B1)
OFFSET 偏移引用
=OFFSET(A1,3,2,5,1)
INDIRECT 动态引用
=INDIRECT(B2&"!A1")
跨表调用
CHOOSE 选择列表中的值
=CHOOSE(2,"一","二","三")
返回”二”
HYPERLINK 创建超链接
=HYPERLINK("#Sheet2!A1","转到明细")
ROW 返回行号
=ROW(A1)
返回 1
COLUMN 返回列号
=COLUMN(B2)
返回 2

财务函数

函数 作用 示例
PMT 贷款分期还款额
=PMT(4%/12,36,100000)
FV 未来价值
=FV(5%/12,60,-1000)
PV 现值
=PV(5%/12,60,-1000)
NPV 净现值
=NPV(10%,B2:B10)
IRR 内部收益率
=IRR(B2:B10)

二、高效技巧合集

基础操作技巧

类别 技巧 作用 快捷方式/步骤
快速计算 自动求和 快速求和、平均值、最大值、最小值 选中数据区域,按
Alt+=
数据操作 智能填充 自动提取、合并、格式化数据 输入示例后按
Ctrl+E
数据操作 快速删除重复值 删除重复行 数据 → 删除重复值
数据操作 快速分列 将文本拆分为多列 数据 → 分列
数据操作 快速创建下拉列表 数据验证下拉菜单 数据 → 数据验证 → 序列
格式调整 快速调整列宽 自动调整列宽 双击列标右边界
格式调整 快速调整行高 自动调整行高 双击行号下边界
格式调整 格式刷 复制格式 选中源格式,点击格式刷,刷目标区域
格式调整 快速添加边框 添加外边框
Ctrl+Shift+&
格式调整 快速删除边框 删除边框
Ctrl+Shift+_
格式调整 快速清除格式 清除单元格格式
Alt+H, E, F
格式调整 快速调整小数位数 增加/减少小数位数
Ctrl+Shift+1
(格式化为数字)
视图控制 冻结窗格 保持行/列可见 视图 → 冻结窗格
视图控制 隐藏网格线 隐藏工作表网格线 视图 → 网格线(取消勾选)
视图控制 快速切换视图 普通/页面布局/分页预览 视图 → 切换视图
视图控制 快速缩放 缩放工作表
Ctrl+鼠标滚轮
编辑操作 强制换行 在单元格内换行
Alt+Enter
编辑操作 快速填充序列 填充数字、日期序列 拖动填充柄
编辑操作 快速插入当前日期 插入当前日期
Ctrl+;
编辑操作 快速插入当前时间 插入当前时间
Ctrl+Shift+;
编辑操作 快速复制公式 向下填充公式
Ctrl+D
编辑操作 快速向右填充公式 向右填充公式
Ctrl+R
编辑操作 快速清除内容 清除单元格内容
Delete

快捷键技巧

类别 技巧 作用 快捷方式
导航 快速跳转到单元格 定位到指定单元格
Ctrl+G

F5
导航 快速选中整列 选中整列
Ctrl+Space
导航 快速选中整行 选中整行
Shift+Space
导航 快速选中整个工作表 选中所有单元格
Ctrl+A
(按两次)
导航 快速切换工作表 在多个工作表间切换
Ctrl+PgUp
/
Ctrl+PgDn
编辑 快速撤销 撤销操作
Ctrl+Z
编辑 快速重做 重做操作
Ctrl+Y
编辑 快速保存 保存文件
Ctrl+S
编辑 快速打印预览 打印预览
Ctrl+P
编辑 快速查找 查找数据
Ctrl+F
编辑 快速替换 替换数据
Ctrl+H
编辑 快速插入超链接 插入超链接
Ctrl+K
编辑 快速插入批注 插入批注
Shift+F2
编辑 快速编辑单元格 编辑单元格内容
F2
公式 快速切换相对/绝对引用 切换引用类型 选中引用,按
F4
循环切换
公式 快速插入函数对话框 插入函数对话框
Shift+F3
公式 快速显示所有公式 显示公式而非结果
Ctrl+~
(波浪号)
公式 公式分段调试 查看公式部分结果 选中公式中某段,按
F9
公式 快速计算整个工作簿 手动计算整个工作簿
F9
公式 快速计算当前工作表 手动计算当前工作表
Shift+F9
数据 快速创建表格 将区域转为表格
Ctrl+T
数据 快速筛选 启用筛选
Ctrl+Shift+L
数据 快速清除筛选 清除筛选 Alt+D+F+F
工作表 快速插入新工作表 插入新工作表
Shift+F11
工作表 快速删除工作表 删除当前工作表
Alt+H, D, S
工作表 快速重命名工作表 重命名工作表 双击工作表标签
工作表 快速移动工作表 移动工作表 拖动工作表标签
工作表 快速复制工作表 复制工作表 按住
Ctrl
拖动工作表标签
工作表 快速隐藏工作表 隐藏工作表 右键工作表标签 → 隐藏
保护 快速保护工作表 保护工作表 审阅 → 保护工作表
保护 快速取消保护工作表 取消保护工作表 审阅 → 取消保护工作表

高级功能技巧

类别 技巧 作用 使用方式
条件格式 数据条 用数据条显示数值大小 开始 → 条件格式 → 数据条
条件格式 色阶 用颜色渐变显示数值 开始 → 条件格式 → 色阶
条件格式 图标集 用图标表示数据状态 开始 → 条件格式 → 图标集
条件格式 自定义规则 基于公式的条件格式 开始 → 条件格式 → 新建规则
数据透视表 快速创建透视表 插入数据透视表 选中数据,插入 → 数据透视表
数据透视表 快速刷新透视表 刷新数据透视表 右键透视表 → 刷新
数据透视表 创建切片器 为透视表添加切片器 选中透视表,分析 → 插入切片器
数据透视表 创建时间线 为透视表添加时间线 选中透视表,分析 → 插入时间线
图表 快速创建图表 创建默认图表 选中数据,按
F11
图表 快速调整图表类型 更改图表类型 选中图表,设计 → 更改图表类型
图表 快速添加数据标签 添加数据标签 选中图表,设计 → 添加图表元素 → 数据标签
名称管理 快速创建名称 定义名称
Ctrl+F3
名称管理 使用名称 在公式中使用名称 直接输入名称或从列表选择
数据分析 单变量求解 目标值反推输入值 数据 → 模拟分析 → 单变量求解
数据分析 方案管理器 多方案对比分析 数据 → 模拟分析 → 方案管理器
数据分析 数据表 双变量假设分析 数据 → 模拟分析 → 数据表
数据验证 自定义验证公式 基于公式的数据验证 数据 → 数据验证 → 自定义
数据验证 输入提示信息 设置输入提示 数据 → 数据验证 → 输入信息
数据验证 错误提示信息 设置错误提示 数据 → 数据验证 → 出错警告
打印设置 设置打印区域 定义打印范围 选中区域,页面布局 → 打印区域 → 设置打印区域
打印设置 重复标题行 每页重复打印标题行 页面布局 → 打印标题 → 顶端标题行
打印设置 调整页边距 自定义页边距 页面布局 → 页边距 → 自定义边距
打印设置 缩放打印 调整打印缩放比例 页面布局 → 缩放比例
高级功能 监视窗口 监视关键单元格变化 公式 → 监视窗口
高级功能 追踪引用单元格 查看公式引用了哪些单元格 公式 → 追踪引用单元格
高级功能 追踪从属单元格 查看哪些单元格引用了当前单元格 公式 → 追踪从属单元格
高级功能 分列高级选项 按固定宽度分列 数据 → 分列 → 固定宽度
高级功能 合并计算 多表数据合并 数据 → 合并计算
高级功能 获取和转换数据 使用Power Query 数据 → 获取和转换数据
高级功能 数据模型 创建Power Pivot数据模型 Power Pivot → 添加到数据模型

效率提升技巧

技巧 作用 详细说明
快速填充不连续序列 快速填充序号,跳过空行 使用
=IF(A2<>"",MAX($B$1:B1)+1,"")
批量修改批注形状 统一批注格式
Ctrl+G
,定位条件选择批注,统一设置格式
快速对比两列差异 找出两列不同数据 使用
=IF(A2=B2,"相同","不同")
或条件格式
快速输入带方框的√和× 输入特殊符号 字体选 Wingdings 2,输入大写R得√,输入大写S得×
快速转换文本型数字 将文本数字转为数值 选中区域,点击感叹号 → 转换为数字
快速提取文件路径 获取当前文件路径 使用公式
=CELL("filename")
快速生成目录 为工作簿创建目录 使用宏或HYPERLINK函数创建
快速隐藏零值 不显示零值 文件 → 选项 → 高级 → 在具有零值的单元格中显示零(取消勾选)
快速切换计算模式 手动/自动计算切换 公式 → 计算选项 → 手动/自动
快速创建自定义序列 定义自己的排序序列 文件 → 选项 → 高级 → 编辑自定义列表


一、函数库

1. 动态数组函数(Excel 365/2021特有)

XLOOKUP函数

=XLOOKUP(查找值, 查找数组, 返回数组, [未找到返回值], [匹配模式], [搜索模式])

深度解析

使用场景:替代VLOOKUP的终极解决方案,支持双向查找、近似匹配、通配符匹配高级用法


=XLOOKUP(1, (A2:A100="销售部")*(B2:B100>100000), C2:C100, "未达标")

实现多条件查找性能优势:比VLOOKUP快40%,支持返回数组技巧:结合LET函数提高可读性


=LET(key, F2,
     data, A2:C100,
     result, XLOOKUP(key, INDEX(data,,1), INDEX(data,,3)),
     IFERROR(result, "未找到"))
FILTER函数

=FILTER(数组, 包含条件, [无结果时返回值])

深度解析

使用场景:动态数据筛选,创建交互式报表高级技巧


=FILTER(SORT(FILTER(A2:E1000, 
                   (C2:C1000>=DATE(2024,1,1))*
                   (C2:C1000<=DATE(2024,12,31))*
                   (D2:D1000="已完成")),
             5, -1),
       SEQUENCE(10))

筛选2024年已完成的项目,按金额降序排序,返回前10条性能优化:避免在FILTER中嵌套过多IF函数

SEQUENCE函数

=SEQUENCE(行数, [列数], [起始值], [步长])

深度解析

使用场景:生成动态数组,创建序列高级应用


=TEXT(DATE(2024,1,SEQUENCE(365)), "yyyy-mm-dd")

生成2024年所有日期组合使用


=INDEX(A2:A100, SEQUENCE(10, 1, MATCH("起始", A2:A100, 0)))

从特定位置开始提取连续数据

LET函数

=LET(名称1, 值1, 名称2, 值2, ..., 计算)

深度解析

使用场景:复杂公式优化,提高可读性和性能案例:计算加权移动平均


=LET(data, B2:B100,
     weights, {0.1,0.2,0.3,0.2,0.1},
     periods, 5,
     rows, ROWS(data),
     MAP(SEQUENCE(rows-periods+1),
         LAMBDA(i, SUM(data#*weights))))

2. LAMBDA函数生态系统

创建自定义函数

=LAMBDA(参数1, 参数2, ..., 计算表达式)

深度解析

使用场景:封装重复计算逻辑案例1:税收计算函数


税收计算 = LAMBDA(收入,
  LET(起征点, 5000,
      税率表, {0,0.03;3000,0.1;12000,0.2;25000,0.25;35000,0.3;55000,0.35;80000,0.45},
      应税收入, MAX(收入-起征点, 0),
      计算税额, LAMBDA(x, 
        LET(累计税, 0,
            循环, SCAN(0, SEQUENCE(ROWS(税率表)-1),
              LAMBDA(acc, i,
                LET(本级上限, INDEX(税率表,i+1,1),
                    本级税率, INDEX(税率表,i+1,2),
                    本级金额, MIN(x, 本级上限) - INDEX(税率表,i,1),
                    本级税, 本级金额*本级税率,
                    acc + 本级税)))),
            累计税)),
      计算税额(应税收入)))
MAP函数

=MAP(数组1, [数组2], ..., LAMBDA)

深度解析

使用场景:对数组每个元素应用相同计算案例:批量转换数据格式


=MAP(A2:A100, LAMBDA(x, 
  IF(ISNUMBER(SEARCH("kg", x)),
     VALUE(LEFT(x, LEN(x)-2))*1000,
     IF(ISNUMBER(SEARCH("g", x)),
        VALUE(LEFT(x, LEN(x)-1)),
        x))))
REDUCE函数

=REDUCE(初始值, 数组, LAMBDA(累计值, 当前值, 计算))

深度解析

使用场景:数组累积计算案例:计算复合增长率


=LET(收益序列, B2:B12,
     期数, ROWS(收益序列)-1,
     终值, INDEX(收益序列, 期数+1),
     初值, INDEX(收益序列, 1),
     (终值/初值)^(1/期数)-1)
SCAN函数

=SCAN(初始值, 数组, LAMBDA(累计值, 当前值, 计算))

深度解析

使用场景:生成累积结果数组案例:计算累积收益


=SCAN(10000, C2:C100, 
      LAMBDA(acc, rate, acc*(1+rate/100)))

3. 高级查找与引用

INDEX-MATCH-MATCH(二维查找)

=INDEX(数据区域, MATCH(行查找值, 行标题区域, 0),
               MATCH(列查找值, 列标题区域, 0))

深度解析

使用场景:交叉表查询性能技巧


=LET(row_idx, MATCH(F2, A2:A1000, 0),
     col_idx, MATCH(G2, B1:Z1, 0),
     INDEX(B2:Z1000, row_idx, col_idx))
CHOOSE函数的高级应用

=CHOOSE(索引值, 值1, 值2, 值3, ...)

深度解析

使用场景:动态选择数据源案例:季度报告动态汇总


=SUM(CHOOSE(MATCH(TEXT(TODAY(),"q"),{"1","2","3","4"},0),
            Q1数据, Q2数据, Q3数据, Q4数据))

4. 文本处理高级函数

TEXTSPLIT函数

=TEXTSPLIT(文本, 列分隔符, [行分隔符], [是否忽略空], [匹配模式])

深度解析

使用场景:复杂文本解析案例:解析JSON格式数据


=LET(json, A2,
     cleaned, SUBSTITUTE(SUBSTITUTE(json, "{", ""), "}", ""),
     pairs, TEXTSPLIT(cleaned, ",", , TRUE),
     keys, TRIM(TEXTBEFORE(pairs, ":")),
     values, TRIM(TEXTAFTER(pairs, ":")),
     HSTACK(keys, values))
TEXTJOIN与FILTER组合

=TEXTJOIN(", ", TRUE, FILTER(姓名列, 条件区域="是"))

深度解析

使用场景:动态生成报告摘要性能优化:在大型数据集上使用UNIQUE先去重

5. 统计与预测函数

FORECAST.ETS函数

=FORECAST.ETS(目标日期, 值, 时间线, [季节性], [数据完整性], [聚合])

深度解析

使用场景:时间序列预测参数详解
季节性:0=无,1=自动检测,2=指定周期数据完整性:0=零处理,1=内插值
案例:销售预测


=FORECAST.ETS(目标日期,
             历史销售额,
             历史日期,
             12,  // 月度数据,周期12
             1,   // 内插缺失值
             AVERAGE)
AGGREGATE函数

=AGGREGATE(功能代码, 忽略选项, 数组, [参数])

深度解析

功能代码:1-19对应不同函数(SUM、AVERAGE等)忽略选项:0-7控制忽略内容(错误、隐藏行等)高级应用


=AGGREGATE(14, 6, A2:A100/(B2:B100>1000), 3)

返回满足条件数据的第三大值


二、高级技巧深度解析(20+核心技巧)

1. 动态仪表板技术

使用OFFSET创建动态范围

名称定义:动态数据 =OFFSET(Sheet1!$A$1,0,0,
                          COUNTA(Sheet1!$A:$A),
                          COUNTA(Sheet1!$1:$1))

技巧详解

应用场景:数据透视表源数据自动扩展组合使用


=SUMPRODUCT((OFFSET($A$1,1,0,COUNTA($A:$A)-1,1)=F2)*
            (OFFSET($B$1,1,0,COUNTA($B:$B)-1,1)))
表单控件联动

组合框控制


数据验证 → 序列 → =INDIRECT($G$2)

G2单元格通过组合框选择数据表名称

滚动条控制图表


=OFFSET($A$1, $H$2, 0, 12, 1)

H2链接滚动条值,控制显示的数据范围

2. 高级数据验证

二级下拉菜单

一级菜单:=省份列表
二级菜单:=INDIRECT(SUBSTITUTE($B2," ","_"))

设置方法

定义名称:北京 = {“朝阳”,“海淀”,“东城”}使用SUBSTITUTE处理空格数据验证公式引用动态名称

自定义验证公式

=AND(ISNUMBER(F2), 
     F2>=VLOOKUP(E2, 价格表, 2, FALSE),
     F2<=VLOOKUP(E2, 价格表, 3, FALSE),
     COUNTIF($F$2:F2, F2)=1)

验证:数字、在价格范围内、不重复

3. 条件格式高级应用

公式条件格式

=AND($A2=TODAY(), $B2="未完成")

高级技巧

整行高亮


=$C2=MAXIFS($C:$C, $A:$A, $A2)

每组中最大值整行高亮

数据条动态调整


最小值公式:=PERCENTILE($C$2:$C$100,0.1)
最大值公式:=PERCENTILE($C$2:$C$100,0.9)
图标集规则自定义

=IF($B2>QUARTILE($B$2:$B$100,0.75), TRUE, 
    IF($B2<QUARTILE($B$2:$B$100,0.25), FALSE, ""))

使用公式控制图标显示条件

4. 数据透视表高级技巧

计算字段与计算项

计算字段:利润率 = 利润/销售额
计算项:环比增长 = (本月-上月)/上月
使用GETPIVOTDATA函数

=GETPIVOTDATA("销售额", $A$3, "地区", "华东", "产品", "手机")

高级用法


=LET(field, "销售额",
     pt_ref, $A$3,
     GETPIVOTDATA(field, pt_ref, 
                  "地区", $F2,
                  "产品", G$1))

动态引用透视表数据

5. Power Query高级技巧

M语言自定义函数

let
    自定义函数 = (table as table, column as text) =>
    let
        去重 = Table.Distinct(table, {column}),
        计数 = Table.RowCount(去重)
    in
        计数
in
    自定义函数
参数化查询

创建参数表查询中引用参数


Source = Excel.CurrentWorkbook(){[Name="参数表"]}[Content],
开始日期 = Source{0}[开始日期],
结束日期 = Source{0}[结束日期]

动态筛选


FilteredRows = Table.SelectRows(源表, 
    each [日期] >= 开始日期 and [日期] <= 结束日期)

6. 数组公式高级应用

MMULT矩阵运算

=MMULT(TRANSPOSE(权重数组), 数据数组)

应用场景

加权评分计算矩阵变换多元统计分析

FREQUENCY函数高级用法

=FREQUENCY(数据数组, {0,60,70,80,90})

技巧


=TRANSPOSE(FREQUENCY(成绩数组, 分界点))

生成分布统计

7. 宏与VBA集成

自定义函数注册

Function 智能汇总(rng As Range, Optional condition As String = "")
    Dim cell As Range, sum As Double
    For Each cell In rng
        If condition = "" Or Evaluate(cell.Value & condition) Then
            sum = sum + cell.Value
        End If
    Next
    智能汇总 = sum
End Function
事件驱动自动化

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B2:B100")) Is Nothing Then
        Application.EnableEvents = False
        Target.Offset(0, 1).Value = Now()
        Application.EnableEvents = True
    End If
End Sub

三、性能优化深度策略

1. 计算公式优化

避免易失性函数

// 不推荐
=OFFSET(A1, MATCH(F2, A:A, 0)-1, 0)

// 推荐
=INDEX(A:A, MATCH(F2, A:A, 0))
使用二进制搜索

// 数据已排序时
=MATCH(F2, A2:A10000, 1)  // 近似匹配,更快
=LOOKUP(F2, A2:A10000, B2:B10000)

2. 内存管理技巧

使用表结构化引用

// 传统引用
=SUMIF($B$2:$B$10000, "销售", $C$2:$C$10000)

// 结构化引用
=SUMIF(Table1[部门], "销售", Table1[销售额])
压缩数据模型

使用整数代替文本(ID化)删除不必要的小数位数使用数据模型代替大量公式


四、实战应用场景

场景1:动态财务报表系统


=LET(
    当前期间, EOMONTH(TODAY(), -1),
    上期期间, EOMONTH(当前期间, -1),
    本期收入, SUMIFS(收入表[金额], 
                    收入表[日期], ">="&EOMONTH(当前期间, -1)+1,
                    收入表[日期], "<="&当前期间),
    上期收入, SUMIFS(收入表[金额],
                    收入表[日期], ">="&EOMONTH(上期期间, -1)+1,
                    收入表[日期], "<="&上期期间),
    增长率, (本期收入-上期收入)/上期收入,
    HSTACK(本期收入, 上期收入, 增长率)
)

场景2:项目管理系统


=LET(
    项目表, FILTER(项目数据, 项目数据[状态]="进行中"),
    关键路径, FILTER(项目表, 项目表[是否关键]="是"),
    资源负载, BYROW(SEQUENCE(ROWS(资源列表)),
                   LAMBDA(i,
                     SUM(FILTER(项目表[工时],
                           (项目表[负责人]=INDEX(资源列表,i))*
                           (项目表[开始日期]<=TODAY())*
                           (项目表[结束日期]>=TODAY()))))),
    预警项目, FILTER(项目表, 
                     (项目表[结束日期]-TODAY()<=7)*
                     (项目表[完成进度]<100%)),
    VSTACK({"总项目数", ROWS(项目表)},
           {"关键项目数", ROWS(关键路径)},
           {"预警项目", ROWS(预警项目)})
)

场景3:库存优化模型


=LET(
    历史需求, B2:B100,
    提前期, 7,
    服务水平, 0.95,
    日均需求, AVERAGE(历史需求),
    需求标准差, STDEV.S(历史需求),
    安全库存, NORM.S.INV(服务水平)*需求标准差*SQRT(提前期),
    订货点, 日均需求*提前期 + 安全库存,
    经济订货量, SQRT((2*日均需求*订货成本)/持有成本),
    {"安全库存",安全库存;
     "订货点",订货点;
     "经济批量",经济订货量}
)

五、版本兼容性策略

1. 向下兼容方案


=IFERROR(XLOOKUP(F2, A:A, B:B),
         IFERROR(INDEX(B:B, MATCH(F2, A:A, 0)),
                 VLOOKUP(F2, A:B, 2, FALSE)))

2. 功能检测


=IF(NOT(ISERROR(FORMULATEXT("=XLOOKUP(1,{1},{1})"))),
    "支持新函数", "使用传统函数")

在Excel中,要查看单元格的完整注释(现在新版中多称“注释”,旧版功能为“批注”):

方法分类 具体操作与路径 主要特点与适用场景
常规查看 1. 鼠标悬停:光标移至单元格右上角有红色三角紫色小方块的单元格上。 最快捷。适合快速预览,但光标移开会自动隐藏。
2. 右键菜单固定:右键点击带注释的单元格 → 选择 “显示/隐藏批注(或注释)” 单个固定。可让特定注释持续显示,方便仔细阅读或编辑。
3. 审阅选项卡查看“审阅”选项卡 → “批注/注释”组 → 点击 “显示批注”/“显示所有批注” 批量显示。“显示所有批注”可让工作表上所有注释一次性全部固定显示,适合集中审阅。
导航与编辑 1. 逐个浏览“审阅”选项卡 → 点击 “上一条”/“下一条” 系统审阅。会按顺序自动跳转并激活显示每个注释,确保不会遗漏。
2. 快速编辑:选中带注释单元格,按
Shift + F2
效率操作。这是编辑现有注释或插入新注释的通用快捷键。
显示所有 “审阅”选项卡 → 点击 “显示所有批注” 全局模式。点击后,所有注释会同时固定显示在表格上,再次点击则全部隐藏。

注:在Excel 365及新版中,新增的“注释”(紫色)支持@提及和线程式回复,而传统的“批注”(红色)功能保留。上述“显示所有批注”按钮通常也控制所有“注释”。

💡 高级技巧与问题排查

调整注释框大小:如果注释框遮挡了数据,你可以拖动其边框来调整大小,调整后的尺寸会被记住。打印注释:如果需要在纸质文件上展示,可以前往 “页面布局” → “页面设置” → “工作表”,在“批注”下拉选项中,选择 “工作表末尾”“如同工作表中的显示” 来打印。导出或列出所有注释:如果需要将注释内容汇总分析,可以使用 “Excel易用宝”“Kutools for Excel” 等插件的“导出批注”功能,或编写简单的VBA宏,将所有注释提取到新的工作表中。问题排查
看不到红色/紫色标记:请在 “文件” → “选项” → “高级” 中,找到“显示”区块,确认“批注和标识”的选项不是“无”。无法编辑:检查工作表是否被保护,需要先在 “审阅”选项卡 中取消工作表保护。内容显示不全:可能是注释框尺寸太小,按上述方法拖动调整即可。

© 版权声明

相关文章

暂无评论

none
暂无评论...