首页 > 解决方案 > 谷歌表格 - 将组中的列数据转换为行

问题描述

我正在尝试将 A 列中的数据转换为单行。原始数据中每个名称都有 3 行。但每天可能有 1 个或多个工作。每天都需要单独处理,但这最好通过在每天开始时手动添加来处理。

这是每两周一次的时间表,因此行数不可预测。

第一张图片是我的原始数据。第二个是期望的最终结果。 在此处输入图像描述

数据将转置到 b、c、d、e 列中的任何空白行,只要没有空白行,我就可以用我的公式引用它们。将信息放入时间表内的适当单元格中。我已经有工作公式来做到这一点。

转置部分是我需要帮助的

在此处输入图像描述

这是我的文件的链接 https://docs.google.com/spreadsheets/d/1PhuFXDB2H1c9ua6szjhJEgJR91yXHhZAmn_2UGOBvIo/edit?usp=sharing

标签: google-sheetstranspose

解决方案


尝试:

=ARRAYFORMULA({QUERY(IF(REGEXMATCH(A12:A, "\d+:\d+.*"), VLOOKUP(ROW(A12:A), 
 IF(IF(IFERROR(RIGHT(A12:A, 4)*1)>2000, A12:A, )<>"", {ROW(A12:A), 
 IF(IFERROR(RIGHT(A12:A, 4)*1)>2000, A12:A, )}), 2, 1), ), "where Col1 is not null"),
 QUERY(IF((IFERROR(RIGHT(A12:A, 4)*1)>2000)+(REGEXMATCH(A12:A, "\d+:\d+.*")),, A12:A), 
 "where Col1 is not null skipping 2"), 
 QUERY(QUERY(IF((IFERROR(RIGHT(A12:A, 4)*1)>2000)+(REGEXMATCH(A12:A, "\d+:\d+.*")),, A12:A), 
 "where Col1 is not null offset 1", 0), "skipping 2"), 
 FILTER(A12:A, REGEXMATCH(A12:A, "\d+:\d+.*"))})

在此处输入图像描述


推荐阅读