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

如何在Google Sheets中将表格对角线转置为交替垂直列表

用公式实现表格的对角线交替转置(生成垂直列表)

需求是将表格数据转置为垂直列表,按对角线交替取值的方式排列,避免连续引用同一行或列,优先用公式实现,不使用Google脚本。

适用场景(Google Sheets)

假设原始数据区域为A1:D4(可根据实际表格范围修改),使用以下公式即可生成目标垂直列表:

=LET(
  data, A1:D4,
  rows, ROWS(data),
  cols, COLUMNS(data),
  total, rows*cols,
  seq, SEQUENCE(total),
  diag_num, CEILING(seq/(rows+cols-1),1),
  is_odd, MOD(diag_num,2)=1,
  row_idx, IF(is_odd, seq-(diag_num-1)*(rows+cols-1), rows+cols-diag_num - (seq-(diag_num-1)*(rows+cols-1)) +1),
  col_idx, IF(is_odd, diag_num - row_idx +1, row_idx + diag_num - (rows+cols)),
  INDEX(data, row_idx, col_idx)
)

公式说明

  1. LET函数用于定义变量,简化公式结构:
    • data:指定原始数据的单元格区域
    • rows/cols:自动获取数据区域的行数和列数
    • total:计算数据总个数,用于生成序列
  2. 通过SEQUENCE生成连续序列,配合CEILING计算每个元素所属的对角线编号
  3. 用MOD判断对角线编号的奇偶性,决定当前对角线的遍历方向(奇数对角线从左上到右下,偶数对角线从右下到左上)
  4. 计算每个序列位置对应的行/列索引,最后用INDEX提取对应单元格的值

如果你的表格是矩形(非正方形),只需修改data变量对应的区域即可,公式会自动适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 06:17:16