Excelの関数でシート名の一部の文字を取得する。
シート名に応じて、そのシート名の一部の文字を取得したいことがあり、
そこに至るまで割と調べたので、ここに整理します。
シート名を取得する
まずはシート名を取得します。
シート名の取得には下記の関数を打つと取得できます。
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
何しているのか少し解説すると、
このCELL("filename",A1)としている所で、「ファイルの場所[ファイル名]シート名」の形で名前を取得しています。
あとは、「]」の位置以降の文字を指定することで、シート名だけを表示しています。
これには後に説明するRIGHT関数、LEN関数、FIND関数が使われています。
特定の文字を取得する
さて本題の特定の文字を取得する方法ですが、
大きく2つあります。
1.特定の文字目を指定して取り出す。
2.特定の文字を指定して取り出す。
特定の文字を指定して取り出す。
特定の文字数目を指定して取り出すには、
下記のMID関数、RIGHT関数、LEFT関数があります。
MID関数
「MID」関数は、文字列の中から、指定した位置から指定した長さの文字を取得できます。
=MID(文字列,開始位置,長さ)
上記の例では、「文字列」の「開始位置」から「長さ」だけの文字が取得できます。
このMID関数の「文字列」の部分に先ほどの「=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))」を入れ、「開始位置」と取り出す「長さ」を指定してあげれば、シート名から特定の文字列を取得できます。
MID関数と同じような使い方ができるRIGHT関数、LEFT関数についても紹介しておきます。
RIGHT関数
「RIGHT」関数は、指定した文字列の右から特定の文字数を取得できます。
=RIGHT(文字列,文字数)
上記の例では、「文字列」の右から「文字数」分だけの文字が取得できます。
LEFT関数
「LEFT」関数は、指定した文字列の左から特定の文字数を取得できます。
=LEFT(文字列,文字数)
上記の例では、「文字列」の左から「文字数」分だけの文字が取得できます。
特定の文字を指定して取り出す。
続いて、特定の文字を探して、
その文字情報から取り出す文字を求める方法です。
まずは、FIND関数を使って、特定の文字の場所を求めて、
先ほどのMID関数、RIGHT関数、LEFT関数などを使う方法があります。
FIND関数
「FIND」関数は、指定した文字列内に特定の文字列が出現する位置を検索できます。
=FIND(検索文字列,文字列,[開始位置])
上記の例では、「文字列」内で「検索文字列」が最初に発見された位置が返されます。「開始位置」は省略すると「1」と見なされます。
あとは、下記のMID関数の「開始位置」部分に、
上記のFIND関数の関数を入れてやれば、特定の文字を探すことができます。
=MID(文字列,開始位置,長さ)
・組み合わせ例
=MID(文字列,FIND(検索文字列,文字列),長さ)
特定の文字を除いた文字を取得する。
その他にも下記のようなSUBSTITUTE関数を使うことで、特定の文字を除いた文字を取得することもできます。
SUBSTITUTE関数
「SUBSTITUTE」関数は、指定した文字列内で特定の文字列を別の文字列に置換できます。
=SUBSTITUTE(文字列,置換前の文字列,置換後の文字列,[置換回数])
上記の例では、「文字列」内で「置換前の文字列」が「置換後の文字列」に置換されます。「置換回数」は省略すると、全ての「置換前の文字列」が置換されます。
ここで、「置換後の文字列」の文字列を「””」(空文字)にすることで、
特定の文字を除いた文字を取得することができます。
コメント
0 件のコメント :
コメントを投稿