CASE 1
基础行列偏移
★★★要求:从 D7 向下1行、向右1列读取内容fx公式示例
=OFFSET($D$7,1,1)
解释:以 D7 为起点,先移动行再移动列,返回移动后单元格的引用。
=OFFSET(起点, 行偏移, 列偏移, [高度], [宽度])
| # | 参数 | 要求 | 怎么理解 / 怎么填 |
|---|---|---|---|
| 1 | 起点 | 必填 | OFFSET 偏移前的基准单元格或区域。 |
| 2 | 行偏移 | 必填 | 从起点向下或向上移动多少行;正数向下,负数向上。 |
| 3 | 列偏移 | 必填 | 从起点向右或向左移动多少列;正数向右,负数向左。 |
| 4 | 高度 | 选填 | 返回区域需要包含多少行。 |
| 5 | 宽度 | 选填 | 返回区域需要包含多少列。 |
① 找到数据区域
先确认条件列和结果列在哪,注意固定区域加 $
② 按顺序填参数
依次填 起点、行偏移、列偏移
③ 回车并向下填充
双击填充柄,整列公式自动套用
=OFFSET($D$7,1,1)
解释:以 D7 为起点,先移动行再移动列,返回移动后单元格的引用。
=SUM(OFFSET($H$8,0,0,3,1))
解释:高度设置为3、宽度设置为1,OFFSET 会返回连续三个月薪单元格。
=SUM(OFFSET($H$13,-2,0,3,1))
解释:这个公式用于「最近三条数据」。引用关系:H13 来自“月薪”列。OFFSET 的关键是看清括号中的参数顺序,以及每个参数引用了哪一列或哪一个单元格。
=AVERAGE(OFFSET($H$8,0,0,COUNTA($H$8:$H$13),1))
解释:COUNTA 计算实际数据行数,OFFSET 根据行数生成可自动扩展的统计区域。
=OFFSET($D$7,MATCH("E004",$D$8:$D$13,0),1)=OFFSET($D$7,MATCH(F49,$D$8:$D$13,0),1)
解释:MATCH 返回员工在编号列中的相对位置,OFFSET 从表头起点移动到对应姓名。
上面案例里的 员工编号、姓名 等列,就来自这张表
| 行 | 员工编号 | 姓名 | 部门 | 城市 | 月薪 | 绩效等级 |
|---|---|---|---|---|---|---|
| 8 | E001 | 张三 | 技术部 | 北京 | 15,000 | A |
| 9 | E002 | 李四 | 市场部 | 上海 | 18,000 | B |
| 10 | E003 | 王五 | 技术部 | 深圳 | 22,000 | A |
| 11 | E004 | 赵六 | 财务部 | 广州 | 12,000 | C |
| 12 | E005 | 钱七 | 市场部 | 杭州 | 10,000 | B |
| 13 | E006 | 孙八 | 技术部 | 北京 | 28,000 | A |