web-dev-qa-db-ja.com

テキスト文字列の各文字間にスペースを自動的に追加するにはどうすればよいですか?

一緒に仕事をしている教師は、生徒の評価用に4つのスコアを単一のセルに入力します。例:2113

4つの個々のスコアのチャートを作成できるように、これらのキャラクターをどのように分離できますか?

2
TonyF

セルの値を個々のセルに分割できます。セルA1に数字2113が含まれている場合、セルB1に以下を入力します。

=SPLIT(REGEXREPLACE("" & A1, "(\d)", "$1,"), ",")

これにより、それぞれの数字を含むセルB1:E1が生成されます。

公式が行うことは3つのことです。

  1. "" & A1は、入力番号2113を文字列に変換します。

  2. REGEXPREPLACEは、入力文字列2113をコンマ区切りの数字リスト2,1,1,3,に置き換えます。

  3. 最後に、SPLIT関数は、コンマ区切りの文字列を個別のセルに分割します。

これで、各桁が個別のセルに配置されたので、データからグラフを作成できるはずです。

それでも数字の間にスペースを追加したい場合は、試してください

=REGEXREPLACE("" & A1, "(\d)", "$1 ")
3
Vidar S. Ramdal

次のカスタム式は、必要な結果を提供します。

コード

// empty string split
function emptySplit(cell) {
  return cell.toString().split('');
}

// same as above, but then joined afterwards, using a space (' ')
function spaceSplit(cell) {
  return cell.toString().split('').join(' ');
}

説明した

スプレッドシートのアクティブセルは文字列に変換され(したがって、文字列と数値に対して機能します)、splitメソッドは空の文字列('')を使用して文字列を分離します。

[ツール]> [スクリプトエディター]の下に小さなコードを追加します。保存ボタンを押すと、カスタム式を使用できます!!

GoogleスプレッドシートのSPLIT関数では、空の文字列を区切り文字として使用できません。

使用法

=emptySplit(A1)

スクリーンショット

enter image description here

サンプルファイルを作成しました。 区切り文字として空の文字列で分割

0
=REGEXEXTRACT(TO_TEXT(A1); REPT("(.)"; LEN(A1)))

0


=ARRAYFORMULA(REGEXEXTRACT(TO_TEXT(A1:A), REPT("(.)", LEN(A1:A))))

0


=ARRAYFORMULA(TRANSPOSE(QUERY(TRANSPOSE(REGEXEXTRACT(
 TO_TEXT(A1:A), REPT("(.)", LEN(A1:A)))), , 999^99)))

0

0
user0

A1の4桁の数字を4つの個別のセルに分割する別のオプション(テキストではなく数学)はB1にあり、次のようにコピーされます。

=left(mod($A1,10^(6-column())))

0スコアなしと仮定!)

0
pnuts

REGEXREPLACEの最上位の回答は、現在のバージョンのスプレッドシートでは機能しなくなりました。ここに私のために働いたものがあります:

=REGEXREPLACE(A2;"(\d)"; "$1 ")
0
capawaky