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

Google Sheets数据集多条件转换:行拆分、日期处理与排序需求

Google Sheets 数据集拆分转换方案

核心需求

  • 当「是否进一步拆分」列值为「是」时,将该行拆分为多行输出到指定工作表
  • 若「替代日期(若不同)」列为空,使用「时间戳」列的日期部分
  • 最终输出按日期升序排序,且支持数据集持续扩充

输入数据集

时间戳替代日期(若不同)总费用采购类型商家名称描述收据链接是否进一步拆分子项费用子项采购类型子项描述是否进一步拆分子项费用子项采购类型子项描述
08/04/2024 21:05:142054牛Farmers First17头牛是893.65羊3只羊是630山羊7只山羊
08/04/2024 21:06:15893牛Outbacks4头牛example.com
08/04/2024 21:08:1706/04/2024832羊Western Out9只羊example.com是9302山羊1000只山羊否

预期输出

日期费用分类商家名称收据链接描述
06/04/2024832羊Western Outexample.com9只羊
06/04/20249302山羊Western Outexample.com1000只山羊
08/04/2024893牛Outbacksexample.com4头牛
08/04/20242054牛Farmers First17头牛
08/04/2024893.65羊Farmers First3只羊
08/04/2024630山羊Farmers First7只山羊

实现方法(自动适配扩充)

在输出工作表的A2单元格输入以下公式,新增数据会被自动纳入处理:

=SORT(QUERY(SPLIT(FLATTEN(ARRAYFORMULA(IF(ISBLANK(A2:A),,{
 IF(B2:B="",TEXT(A2:A,"dd/mm/yyyy"),B2:B)&"|"&C2:C&"|"&D2:D&"|"&E2:E&"|"&G2:G&"|"&F2:F;
 IF(H2:H="Yes",IF(I2:I="",,"|"&I2:I&"|"&J2:J&"|"&E2:E&"|"&G2:G&"|"&K2:K),);
 IF(H2:H="Yes",IF(M2:M="",,"|"&M2:M&"|"&N2:N&"|"&E2:E&"|"&G2:G&"|"&O2:O),)
})), "|"), "select Col1,Col2,Col3,Col4,Col5,Col6 where Col1 is not null",0),1,TRUE)

公式逻辑

  1. ARRAYFORMULA:批量遍历整列数据,无需手动更新范围
  2. 日期补全:空替代日期时,自动提取时间戳的日期部分
  3. 行拆分:将原行与拆分的子项行拼接,再平铺为单列
  4. 列拆分:按分隔符「|」将单列数据拆分为目标列结构
  5. 筛选排序:过滤空行后按日期升序排列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:42:12