(Excel)文字列を1文字ずつ分割する

 Excelでセルに入力されている文字列を1文字ずつ分割して各セルに表示する方法についてです。

  • SEQUENCE関数を利用することで文字列を分割することができます。
  • 複数行複数列にわたって分割することもできます。

手順

f:id:accs2014:20191201110953p:plain:right:w450

 B2セルに対象となる文字列が記録されています。
 ここでB4セルに次のように入力します。

=MID(B2,SEQUENCE(1,LEN(B2)),1)

 MID関数の第2引数(何文字目から)を「SEQUENCE(1,LEN(B2))」とすることで、1から文字数まで(結果的に1から5まで)の5つの引数を一括して与えています。

f:id:accs2014:20191201110957p:plain:right:w500

 結果はこうなります。
 5つの文字が5つのセルに分割して表示されました。

 なお「縦に並べる」という場合は「=MID(B2,SEQUENCE(LEN(B2)),1)」とします。
 

f:id:accs2014:20191201111001p:plain:right:w600

 次の例です。
 B4セルに次のように入力した結果です。このように複数行複数列に渡って文字を並べることもできます。
 いわゆるExcel方眼紙に文字列を展開することが可能となります。

=MID(B2,SEQUENCE(ROUNDUP(LEN(B2)/5,0),5),1)

 SEQUENCE関数の第1引数(行数)を「ROUNDUP(LEN(B2)/5,0)」、第2引数(列数)を「5」としています。
 これにより列数は5に固定、行数は文字列の長さに応じて確保されます。