エクセルで文字列から、括弧の中の数字や文字だけを抽出する関数をご紹介します。括弧内を削除して括弧以外の文字だけを抽出する関数についても解説しているので、ぜひ参考にしてみてください。
カッコ内の文字を抽出する関数
TEXTBEFORE/TEXTAFTER関数を使うと、カッコ内の文字だけを抽出できます。これらの関数が使えない場合、MID関数とFIND関数を組み合わせることで代用可能です。
Microsoft 365 の場合
TEXTBEFORE関数は区切り文字より前を、TEXTAFTER関数は区切り文字より後ろを抽出します。
例えば TEXTBEFORE(TEXTAFTER(A2,”(“),”)”) なら、まずTEXTAFTER関数が開き括弧より後ろの文字 1234)5678 を抽出します。
TEXTBEFORE関数はこれを文字列として受け取り、閉じ括弧より前 1234 を抽出します。
TEXTBEFORE/TEXTAFTER関数の必須要素:(文字列,区切り文字)
Excel 2021 以前の場合
まず FIND(“(“,A2)+1 で、抽出する開始位置 3+1=4 を取得します。次に FIND(“)”,A2)-FIND(“(“,A2)-1 で、抽出する文字数 8-3-1=4 を取得します。
これをMID関数に当てはめると、MID(A2,FIND(“(“,A2)+1,FIND(“)”,A2)-FIND(“(“,A2)-1) です。
MID関数は開始位置から文字数を抽出するので、4文字目から4文字を抽出します。
FIND関数の構成要素:(検索文字列, 対象, [開始位置])
MID関数の構成要素:(文字列, 開始位置, 文字数)
カッコ内の文字を削除する方法
まず対象範囲を選択し、ホームタブの[検索と置換]から[置換]を開きます。
次に検索する文字列に、(*) を入力してください。アスタリスク(*)は任意の文字列を表すワイルドカードです。括弧内は削除するので、置換後の文字列には何も入力しません。
置換を開くショートカットキー:[Ctrl]+[H]
最後に[すべて置換]をクリックすると、範囲に含まれる括弧内の文字が削除されました。
置換後の文字列を指定すると、括弧内の文字を任意の文字列に置換できます。
カッコ内の文字を削除する関数
カッコ内の文字を削除するのは、カッコ以外の文字を抽出するのと同じです。そこで、まずカッコの右側と左側の文字を抽出し、これらを結合します。
カッコの左側を抽出する方法
開き括弧より左側を抽出する数式は、LEFT(A2,FIND(“(“,A2)-1) です。
まずFIND関数で開き括弧の位置(3)を取得します。LEFT関数は 3-1=2 を文字数として受け取るので、左から2文字を返します。
LEFT関数の構成要素:(文字列, [文字数])
FIND関数の構成要素:(検索文字列, 対象, [開始位置])
カッコの右側を抽出する方法
閉じ括弧より右側を抽出する数式は、MID(A2,FIND(“)”,A2)+1,LEN(A2)) です。
FIND関数で閉じ括弧の位置(8)を、LEN関数で全体の文字数(12)を取得します。
MID関数は 8+1=9 を開始位置として、全体の文字数(12)を文字数として受け取るので、9文字目以降のすべての文字を返します。
MID関数の構成要素:(文字列, 開始位置, 文字数)
LEN関数の構成要素:(文字列)
カッコの左側と右側を結合する方法
括弧内の文字を削除するには、アンパサンド(&)で括弧の左側と右側を結合します。
ひとつの数式にすると、LEFT(A2,FIND(“(“,A2)-1)&MID(A2,FIND(“)”,A2)+1,LEN(A2)) になります。