Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » 文字列を1文字ずつに分解する方法−MID関数・複合参照

文字列を1文字ずつに分解する方法−MID関数・複合参照

対象:Excel2002, Excel2003, Excel2007, Excel2010

「Excel 文字列 1文字ずつ バラバラ」
「エクセルで文字列を1文字にずつに分解する方法」
といった検索をみかけることがあります。

[スポンサードリンク]

あるセルに例えば
「コイズミジュンイチロウ」
といった文字列が入力されているときに
「コ」「イ」「ズ」「ミ」「ジ」「ュ」「ン」「イ」「チ」「ロ」「ウ」
と1文字ずつ別々のセルに分解して表示する方法を探している方の検索です。


▼操作手順:文字列を1文字ずつに分解する
※A1:A10セルに入力されている文字列をB1:R1セル・B2:R2セル・B3:R3セルへとバラバラにする例

B1セルに
「=MID($A1,COLUMN()-1,1)」
という計算式を入力
 ↓
B1セルをR1セルまでオートフィル
 ↓
B1:R1セルをB10:R10までオートフィル

MID関数を使うと、何らかの文字列から文字を取得することができます。

第1引数には元の文字列
第2引数には取得する文字の先頭の位置
第3引数には何文字取得するか
を指定します。

例えば
「=MID(A1,1,1)」
という数式ではA1セルに入力されている文字列の1文字目から1文字
「=MID(A1,2,1)」
という数式ではA1セルに入力されている文字列の2文字目から1文字
を取得することができます。

つまり第2引数を
「1」・「2」・「3」・・・
と変化させられれば、順番に
1文字目・2文字目・3文字目・・・
と取得できることになります。

そのために上記の例ではMID関数の第2引数を
「COLUMN()-1」
としています。

COLUMN関数は、列番号を返してくれる関数ですから単純に「COLUMN()」を指定したときには、B列では「2」、C列で「3」、D列で「4」が返されます。

これを「1」「2」「3」・・・としたいので「COLUMN()-1」としています。

上記の例ではA1:A10セルに元の文字列が入力されていて、それぞれ横に分解するのに数式をコピーで済ませるためにMID関数の第1引数を「$A1」と複合参照にしています。

単純にA1セルの文字列を分解するだけなら
「=MID($A$1,COLUMN()-1,1)」
とA1セルを絶対参照にしてしまえばいいでしょう。

縦方向に分解するのなら行番号を返すROW関数を使って
「=MID(A$1,ROW()-1,1)」
としてください。

▼サンプルファイル(003662.xls 36KByte)ダウンロード

サンプルファイルには「横方向に分解」「縦方向に分解」シートに、文字列を横方向に分解する例と縦方向に分解する例をそれぞれ作成してありますのでご確認ください。

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » 文字列を1文字ずつに分解する方法−MID関数・複合参照

TrackBack:2

TrackBack URL
日付データを1文字ずつ分解する−MID関数・TEXT関数・COLUMN関数 from インストラクターのネタ帳
対象:Excel2002, Excel2003, Excel2007, Excel2010 このサイトで 「エクセル 日付データ 1文字ずつ 分解」 と...
文字列を分解して1文字ずつセルに入力するマクロ from インストラクターのネタ帳
対象:Excel2003, Excel2007, Excel2010 「エクセル セルに1文字ずつ分解 マクロ」 という検索が行われていました。 ワーク...
[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » 文字列を1文字ずつに分解する方法−MID関数・複合参照

「文字列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.