大家好,
我的目標是將C4:E7中的答案扁平化為一列,然后根據提交時間戳的升序進行排序,然后再從Answer1到Answer3進行排序。
例如在上面的截圖中,學生B在2:49:27pm提交了答案,這是4個學生中最早的一個,所以他的答案應該在這一列的最上面,并從答案1開始到答案3,然后才是學生A和學生D的答案。
我現在使用=QUERY(FLATTEN(C4:E7), "Select * where Col1 is not null")/code>。我不知道在這種情況下,如何先根據時間戳進行排序。
列I是一個非常重要的部分。
列I是預期的輸出。
希望在這個問題上得到一些幫助,任何幫助都將是非常感激的!
uj5u.com熱心網友回復:
嘗試:
=arrayformula(query(iferror(splitten(if(A4:A<>"",B4:B&char(9999)&C4:E,),char(9999)),), "select Col2 where Col2 !='' order by Col1,Col2", 0)
注釋:
出發點是:
=arrayformula(if(A4:A<>",B4:B&char(9999)&C4:E,)
這就重復了你的 "提交時間 "欄和3個答案欄中的每一個,用一個不太可能在你的資料集中使用的字符char(9999)(?)來分隔。
然后flatten()將它們放在1列:
split()然后在?上使用,以使結果進入2列,但你需要iferror()來阻止公式問題在作業表中出現。
然后query()將結果包裹起來,選擇col2(如果它不是空的),并按Col1,Col2排序。
使用filter()的替代方法,這樣你就不需要iferror():
=arrayformula(query(split(flatten(filter(B4:B&char(9999)&C4:E,B4:B<>""),char(9999)), "select Col2 where Col2 !='' order by Col1,Col2", 0)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/328364.html
標籤:



