SPLIT()の出力の日付再フォーマットを止めるには?

0
2021.12.25

セルに「3 4 5; 5 6 7; 8 9 10」のような内容があり、セミコロンで分割して、3つのセルに「3 4 5」「5 6 7」「8 9 10」が入るようにしたいと思います。

通常、SPLIT()はこれをうまく実行しますが、問題は、Google Sheetsがコンテンツを日付として解釈し続けることです。プレーンテキスト」を選択しても、内容を日付に変換し、その日付を数字に変換し、その数字をプレーンテキストとして表示するので、解決しません。

シート例

enter image description here

回答
1
2021.12.25

抽出するグループの数が常に同じであれば、このようにregexextract()を使うことができます。

=arrayformula( 
  iferror( 
    regexextract(A1:A, rept("([\d ]+)[^\d]*", 3)) 
  ) 
)

グループの数が異なる場合は、セパレータの数に応じてrept()へのnumber_of_repetitionsパラメータを算出することができます。または、split()を使用します。次のように、配列上で評価することができます。

=arrayformula( 
  split( 
    regexreplace(A1:A, "^|; ", "$0'"), 
    "; ", 
    false 
  ) 
)