谷歌表格扁平化矩阵后如何按提交时间戳与答案序号排序内容

你需要先为每一个答案绑定对应的提交时间、所属答案序号两个排序维度,再按规则排序后提取答案即可,可直接使用以下公式:
=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(B4:B7&"|"&COLUMN(C4:E7)&"|"&C4:E7),"|"),"SELECT Col3 WHERE Col3 IS NOT NULL ORDER BY Col1 ASC, Col2 ASC",0))
公式逻辑说明:
- 先将每个答案和它对应的提交时间、所在列序号拼接为带分隔符的字符串,相当于给每个答案打上两个排序标签
- 扁平化后拆分出
提交时间、列序号、答案内容三列 - 按提交时间升序、列序号升序排序后,过滤空值仅输出答案列
如果使用支持LAMBDA函数的新版Google Sheets,也可以用更简洁的写法:
=TOCOL(SORTBY(FLATTEN(C4:E7),FLATTEN(IF(COLUMN(C4:E7),B4:B7)),1,FLATTEN(COLUMN(C4:E7)),1),1)
你原来的写法直接扁平化了答案区域,没有携带对应的排序依据信息,所以无法直接追加排序逻辑,需要先绑定排序维度再做后续处理。
内容的提问来源于stack exchange,提问作者weizer
相关产品推荐
相关产品推荐

