以前の記事で、長い文章「ABCDEFGHIJKLMNOPQRSTUVWXYZ」を1セルに1文字ずつ分割する方法をLENとLEFTを使って紹介しました。しかし、1文字の抽出であれば、もっと便利なMID関数というものを見つけたのでMIDを使ったやり方も紹介したいと思います。
MIDの方が仕組みは簡単ですが、2文字も抽出や文字の右から順に抽出する時には複雑になるので、ちょっと手を加えたい場合は、以下のLEN,RIGHT,LEFTの記事がお勧めです。
長い文章「ABCDEFGHIJKLMNOPQRSTUVWXYZ」を1セルに1文字ずつ分割したい時、1つずつ「A」「B」「C」「D」「E」… と手打ちしていないですか?26文字ならギリギリ打てなくもないですが、あまりにもめんどくさい。こんな時のテクニックをMIDを使って紹介したいと思います。
結論!
上(A1:D2)が計算結果、下(A4:D5)が使った関数を表示しています。

仕組みを説明します。
- 左端(A2)に分割したい長文を置く。
- 2列(B1)から右にフラッシュフィルを使って1, 2, 3…と数値をふる
- 数値をふった下(B2)から右に’=MID($A$2,B1,1)’という関数で、左上(A1)の文字列から真上のセル(B1)の数値(1)文字目を表示する。そのまま右にフィルで延ばせば1文字ずつ抽出できます。
使用した関数の紹介!
MID(文字列, 切り出す文字の開始位置, 切り出したい文字数)
文字通り、Midium(中ぐらい)の文字列を抽出する関数です。
例えば、’=MID(”123456”,2,3)’と書くと、左から2文字目から3文字分’234’という結果になりますし、’=MID(“123456”,5,3)’と書くと、右から5文字目から3文字分(はみ出した分は表示されない)’56’という結果になります
まとめ
問題は解決できましたか?正直なところ、Excelで長文を分割することなんて、ほとんどない気がしますが、csvの区切りがうまくいかなかった時やエクセル方眼紙にしたい時にとか?に活躍すればなと思います。以上!










コメント