如何让Sheet2始终保留逐月新增列的Sheet1的最后3列
实现Sheet2自动同步Sheet1最后3列的方案
针对支持动态数组的版本(Excel 365/Google Sheets)
直接在Sheet2的A1单元格输入以下公式,无需手动填充,公式会自动扩展为完整的3列数据:
=TAKE(Sheet1!A:ZZ, -3)
TAKE函数的-3参数表示从目标区域的末尾截取3列,Sheet1每月新增列后,公式会自动更新,Sheet2始终显示最新的3列数据。
兼容旧版Excel(无动态数组支持)
如果你的Excel版本不支持动态数组,需要在Sheet2的对应单元格分别设置公式:
- Sheet2的A1单元格:
=INDEX(Sheet1!A:ZZ, ROW(), COLUMNS(Sheet1!1:1)-2) - Sheet2的B1单元格:
=INDEX(Sheet1!A:ZZ, ROW(), COLUMNS(Sheet1!1:1)-1) - Sheet2的C1单元格:
=INDEX(Sheet1!A:ZZ, ROW(), COLUMNS(Sheet1!1:1))
将这三个单元格的公式向下填充到所有有数据的行即可。每月Sheet1新增列后,COLUMNS(Sheet1!1:1)会自动计算最新的总列数,从而定位到最后3列,覆盖Sheet2原有内容。
额外提示
如果担心Sheet1列数意外少于3(虽然你的场景初始有7列且每月新增,概率极低),可以给公式加个容错判断:
=IF(COLUMNS(Sheet1!1:1)<3, Sheet1!A:ZZ, TAKE(Sheet1!A:ZZ,-3))
内容的提问来源于stack exchange,提问作者Tillthen BigHeart
相关产品推荐
相关产品推荐

