Excel 365跨工作表隔列提取数据至单列的公式优化方案
Excel 365隔列提取数据的公式优化方案
一、动态数组公式(一次输入自动填充,推荐)
在Review表的B2单元格输入以下公式,Excel 365会自动填充到B2至B21:
=INDEX(Content!$2:$2,SEQUENCE(21,,3,2))
- 逻辑说明:
SEQUENCE(21,,3,2)生成从3开始、步长为2的21个连续数字,对应Content表第2行中C(第3列)、E(第5列)……AO(第43列)的列号INDEX(Content!$2:$2, 列号)精准提取对应列的单元格内容
二、下拉式公式(兼容手动逐行填充)
如果需要手动下拉填充,在Review表B2单元格输入:
=INDEX(Content!$2:$2,3+(ROW()-2)*2)
直接下拉到B21即可。
- 逻辑说明:
ROW()-2计算当前行相对于B2的偏移量(B2偏移0,B3偏移1……)3+(ROW()-2)*2动态生成隔列的列号,确保每次下拉都跳转到下一个目标列
三、适配其他行的修改方法
如果后续需要提取Content表其他行(比如第5行)的隔列数据,只需将公式中的Content!$2:$2替换为目标行的引用(如Content!$5:$5),两种公式都适用。
关于之前公式报错的说明
使用OFFSET或INDEX时报错,大概率是参数设置问题:
- OFFSET作为易失函数,若引用范围或偏移量计算错误(比如未锁定行/列)会触发报错
- INDEX若列号计算逻辑错误(比如步长或起始值不对),也会导致公式失效,优先用上述两种经过验证的逻辑即可
内容的提问来源于stack exchange,提问作者Roslyn
相关产品推荐
相关产品推荐

