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

如何用公式实现工作表列数据到另一工作表行的转换?

将水平格式数据转换为垂直格式的Google Sheets公式方案

针对你需要将Worksheet1的水平数据(员工行+日期列)转换为Worksheet2的垂直格式(每行对应员工+日期+工时)的需求,可以使用以下Google Sheets数组公式实现自动化:

核心公式(在Worksheet2的A2单元格输入)

=ARRAYFORMULA(
  LET(
    names, Worksheet1!A2:A,
    dates, Worksheet1!B1:1,
    hours, Worksheet1!B2:Z,
    paired_names, FLATTEN(IF(hours<>"", names, "")),
    paired_dates, FLATTEN(IF(hours<>"", dates, "")),
    paired_hours, FLATTEN(hours),
    FILTER({paired_names, paired_dates, paired_hours}, paired_hours<>"")
  )
)

公式说明

  • LET:定义变量简化公式结构,方便后续调整数据范围
  • names:引用Worksheet1中存储员工姓名的列(A2:A,可根据实际范围修改)
  • dates:引用Worksheet1中存储日期的首行(B1:1,自动适配所有日期列)
  • hours:引用Worksheet1中所有工时数据区域(B2:Z,若数据超过Z列,可扩展为B2:1000)
  • FLATTEN:将二维的工时数据、对应姓名和日期平铺为一维数组
  • FILTER:过滤掉工时为空的行,只保留有效数据

动态范围优化(可选)

如果员工数量或日期列会动态增加,可将hours的范围改为动态引用,避免手动调整:

hours, Worksheet1!B2:INDEX(Worksheet1!Z:Z, COUNTA(Worksheet1!A:A))

该写法会自动根据A列的员工数量,匹配对应的工时数据行。

内容的提问来源于stack exchange,提问作者Chrizh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:57:42