使用公式组织具有不同数据量的列

Use a formula to organize columns with different amounts of data

记录每一列时,数值大小不同:

我希望将值拉到左侧,以便一列始终与其他列进行良好调整:

Is there any way to do this using a formula?

link 到电子表格:
https://docs.google.com/spreadsheets/d/1iXqdjs_D-NvyES4LMjpzFEY4uDvbdcMZZY5VUvpmbRQ/edit?usp=sharing

values to be pulled to the left

=ARRAYFORMULA(SUBSTITUTE(SPLIT(TRANSPOSE(QUERY(TRANSPOSE(IF(A1:D12<>"", 
 SUBSTITUTE(A1:D12, " ", "♦"), )),,999^99)), " "), "♦", " "))


而平均分配是:

={FILTER(SUBSTITUTE(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(A1:D12<>"", 
  SUBSTITUTE(A1:D12, " ", "♦"), )),,999^99)),,999^99), " ")), "♦", " "), 
  MOD(ROW(INDIRECT("A1:A"&COUNTA(A1:D12)))-1, 4)=0), 
  FILTER(SUBSTITUTE(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(A1:D12<>"", 
  SUBSTITUTE(A1:D12, " ", "♦"), )),,999^99)),,999^99), " ")), "♦", " "), 
  MOD(ROW(INDIRECT("A1:A"&COUNTA(A1:D12)))-2, 4)=0), 
  FILTER(SUBSTITUTE(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(A1:D12<>"", 
  SUBSTITUTE(A1:D12, " ", "♦"), )),,999^99)),,999^99), " ")), "♦", " "), 
  MOD(ROW(INDIRECT("A1:A"&COUNTA(A1:D12)))-3, 4)=0), 
  FILTER(SUBSTITUTE(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(A1:D12<>"", 
  SUBSTITUTE(A1:D12, " ", "♦"), )),,999^99)),,999^99), " ")), "♦", " "), 
  MOD(ROW(INDIRECT("A1:A"&COUNTA(A1:D12)))-4, 4)=0)}

注意 =COUNTA(A1:D12)/4 必须是整数,否则会出现 ARRAY 错误。为避免 ARRAY 错误,您可以每列使用 1 个公式。粘贴到 A 列并拖动它直到到达 D 列:

=FILTER(SUBSTITUTE(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF($A:$D<>"", 
 SUBSTITUTE($A:$D, " ", "♦"), )),,999^99)),,999^99), " ")), "♦", " "), 
 MOD(ROW(INDIRECT("A1:A"&COUNTA($A:$D)))-COLUMN(A1), 4)=0)