谷歌表格:合并时间表查询结果行并应用ARRAYFORMULA批量处理
解决方案
直接使用以下公式即可实现批量合并指定日期的时段与内容,无需逐行操作:
=ARRAYFORMULA(IFERROR(QUERY( {OFFSET(Sheet1!A2:A,,MATCH(H1,Sheet1!B1:F1,0)), OFFSET(Sheet1!A3:A,,MATCH(H1,Sheet1!B1:F1,0))}, "select Col1&':'&Col2 where Col1 is not null and Col2 is not null",0)))
公式说明
MATCH(H1,Sheet1!B1:F1,0):定位你指定的日期(比如H1单元格输入“周一”)在表头中的列位置OFFSET(Sheet1!A2:A,,匹配列数):提取该日期列下的所有时段行(对应原表中偶数行的时段内容)OFFSET(Sheet1!A3:A,,匹配列数):提取该日期列下的所有内容行(对应原表中奇数行的内容)QUERY(..., "select Col1&':'&Col2..."):将每一组时段和内容合并为「时段:内容」的格式,同时过滤掉空行ARRAYFORMULA:实现批量自动计算,无需下拉填充
注意事项
- 确保H1单元格输入的日期名称(如“周一”“周二”)与表头的名称完全一致
- 如果需要调整合并格式,只需修改
':'为你想要的分隔符即可
内容的提问来源于stack exchange,提问作者Nad
相关产品推荐
相关产品推荐

