You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Office 2016中按指定顺序提取非空单元格值至可拖动填充单列的公式咨询

Office 2016中按指定顺序提取非空单元格值至可拖动填充单列的公式咨询

嗨,我来帮你搞定这个Office 2016里的提取需求~ 因为Office 2016没有自带的FILTER函数,咱们得用几个函数组合来实现按「从上到下、从左到右」的顺序提取非空单元格,还能拖动填充柄自动获取下一个有效值。

假设你的数据范围是类似A1:C3这样的n×n区域(你可以根据实际数据修改这个范围),在你想要输出结果的第一个单元格(比如E1)里输入下面的公式:

=IFERROR(INDEX($A$1:$C$3,SMALL(IF($A$1:$C$3<>"",ROW($A$1:$C$3)-ROW($A$1)+1),ROW(A1)),SMALL(IF($A$1:$C$3<>"",COLUMN($A$1:$C$3)-COLUMN($A$1)+1),ROW(A1))),"")

⚠️ 注意:这是数组公式,输入完公式后不能直接按回车,得按住Ctrl+Shift+Enter组合键来确认输入,这样公式会自动被大括号包裹(不用手动输大括号哦)。

公式简单说明:

  • IF($A$1:$C$3<>"",ROW(...) - ROW($A$1)+1):先找出所有非空单元格在数据区域内的相对行号
  • IF($A$1:$C$3<>"",COLUMN(...) - COLUMN($A$1)+1):同时找出这些非空单元格在数据区域内的相对列号
  • SMALL(...,ROW(A1)):按顺序提取第1、2、3...个非空单元格的行/列位置,拖动填充时ROW(A1)会自动变成ROW(A2)、ROW(A3),以此类推
  • INDEX(...):根据拿到的行和列位置,精准提取对应单元格的值
  • IFERROR(...):当所有非空值都提取完后,后续单元格会显示空白,避免出现错误提示

使用步骤:

  1. 把公式里的$A$1:$C$3替换成你实际的n×n数据范围(注意要加绝对引用符号$,避免拖动时范围乱跑)
  2. 按Ctrl+Shift+Enter输入公式
  3. 选中这个单元格,拖动填充柄往下拉,就能自动依次提取下一个非空值,顺序完全符合你要的「A1→A2→A3→B1→B2→B3...」

这样就能完美实现你想要的效果啦~

备注:内容来源于stack exchange,提问作者Seth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 07:59:30