エクセルのセル中の文字が7文字あるとして、「左から4文字目から2文字」「右から・・・」などを抽出する、を関数で表すには?

問題の所在

エクセルで、文字を抽出する場合、左からなら LEFT関数、右からなら RIGHT関数でOKなのですが、

やや複雑な場合、途中の文字から何文字を抽出する、という場合の備忘メモ。

2.結論

MID関数を使う。以下の記事が参考になる:

MID関数でセルの途中から文字を取り出そう 文字列 2023年9月26日

https://azby.fmworld.net/lesson/excel-function/036/

(以下、一部抜粋))

3[文字列]に「C4」、[開始位置]に「3」、[文字数]に「99」を入力し、関数の引数ダイアログボックスの[OK]ボタンをクリックします。
住所から3文字目以降の文字を取り出すことができた画面イメージ
4住所から3文字目以降の文字を取り出すことができました。
セルE4の式をセルE15までコピーし、住所から町域取り出された画面イメージ
5セルE4の式をセルE15までコピーします。住所から町域が求められました。

ステップアップ:前の文字の長さに差がある場合は?

MID関数は指定した位置からの文字を抜き出すことができますが、例えば住所のデータから「区」の後の町域を取り出したいときに、区の名前が「港区」「葛飾区」「千代田区」などのように文字数が一定でない場合があります。

このようなときは、文字数の列を作成し、そこに文字数を入力することで、LEFT関数やMID関数で取り出す文字の長さや開始位置の変数として利用できます。

次の例のように区名の長さが変わるような場合、住所から取り出す区名の長さも町域の開始位置も変わります。文字数に区名の文字列の長さを入力すると、区名とそれに1文字加えた開始位置から町域を取り出すようにMID関数で式を入力してみましょう。

区名の文字数をD列に入力している画面イメージ

=========================

なお、上のケースをググる際に表記しにくいことから、以下のページがわかりやすい:

任意の位置の文字を取り出して表示する技:Excel関数の技

http://www.eurus.dti.ne.jp/yoneyama/Excel/waza/mojiretu04.html

 

3.理由

特記事項なし

4.補足

特記事項なし