「Excel 文字列 1文字ずつ バラバラ」
「エクセルで文字列を1文字にずつに分解する方法」
といった検索をみかけることがあります。
文字列を1文字ずつに分解する数式
あるセルに例えば
「東京都新宿区」
といった文字列が入力されているときに
「東」「京」「都」「新」「宿」「区」
と1文字ずつ分解して別々のセルに表示する方法を探している方の検索です。
※A1セルに入力されている文字列をB1セルから右方向に分解する例
B1セルに
=MID($A$1,COLUMN()-1,1)
という数式を入力
↓
B1セルを右方向にオートフィル
MID関数の使い方
MID関数を使うと、何らかの文字列から文字を取得することができます。MID関数には引数を3つ指定でき、
第1引数に元の文字列
第2引数に取得する文字の先頭の位置
第3引数に何文字取得するか
をそれぞれ指定します。
例えば、
=MID(A1,1,1)」
という数式で、A1セルに入力されている文字列の1文字目から1文字
=MID(A1,2,1)」
という数式で、A1セルに入力されている文字列の2文字目から1文字
を取得できます。
つまり第2引数を
「1」・「2」・「3」・・・
と変化させられれば、順番に
1文字目・2文字目・3文字目・・・
と取得できることになります。
COLUMN関数の役割
MID関数の第2引数を1・2・3…と変化させるために、上記の例ではMID関数の第2引数を「COLUMN()-1」としています。
COLUMN関数は、列番号を返してくれる関数ですから単純に「COLUMN()」を指定したときには、B列では「2」、C列で「3」、D列で「4」が返されます。
これを「1」「2」「3」・・・としたいので「COLUMN()-1」としています。
縦方向に分解するならROW関数
縦方向に分解するのなら行番号を返すROW関数を使った数式
=MID($A$1,ROW()-1,1)
をA2セルに入力して、下方向にオートフィルしてください。
最終更新日時:2020-11-03 08:40
- Newer:F2キー→Enterキーが面倒−置換の実行
- Older:複数の空白スペースを一つに置換したい− {2,}
Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » 文字列を1文字ずつに分解する−MID関数・COLUMN関数