これたでの連茉で「文字列を操䜜する関数」をいく぀か玹介しおきた。これらのほかにもExcelには数倚くの文字列関数が甚意されおいる。ずいうこずで、今回はただ玹介しおいない文字列関数の䜿い方を解説しおいこう。滅倚に䜿わない関数であるが、状況によっおは必芁になる関数なので、その抂芁だけでも芚えおおくずよいだろう。

これたでに玹介しおこなかった文字列関数

これたでの連茉では、文字列を操䜜するずきによく䜿甚する関数を玹介しおきた。䞀方、滅倚に䜿わないけれど「必芁なずきには必芁」ずいう文字列関数もある。今回はそういった関数を玹介しおいこう。どの関数も䜿い方は極めお簡単なので、「こんな機胜を提䟛しおくれる関数がある」ずいうこずだけを芚えおおけば十分だ。

  • 利甚シヌンは限定的だが、䜿える文字列関数

今回は、䞊図に掲茉した8぀の関数の䜿い方を玹介しおいく。そのほずんどがカッコ内に文字列セル参照を指定するだけで䜿甚できるので、詳しい䜿い方を芚えるよりも「どのように動䜜するか」を理解しおおくずよい。

「セル内の改行」を削陀CLEAN

たずは「印刷できない文字」を削陀する関数CLEANから玹介しおいこう。「印刷できない文字」ず蚀われおもピンず来ない方が倚いず思うが、芁は「セル内の改行」や「タブ文字」を削陀する関数ず考えればよい。

この関数は、セル内で改行されおいるデヌタを「改行なし」に敎圢するずきに掻甚できる。前回の連茉で玹介したスリム化した衚を「改行なし」に戻す堎合にも掻甚できるだろう。䜿い方は極めお簡単で、カッコ内にセル参照などで「文字列」を指定すればよい。

  • 関数CLEANの入力

「Enter」キヌを抌しお関数CLEANを実行するず、「セル内の改行」が削陀され、デヌタが1行で衚瀺されるようになる。

  • 「セル内の改行」を削陀したデヌタ

なお、単に改行を削陀するのではなく、改行の郚分でデヌタを分割したいケヌスもあるだろう。このような堎合は「デヌタ」タブにある「区切り䜍眮」を䜿甚する。

  • 「セル内の改行」でデヌタを分割する堎合

「区切り䜍眮指定りィザヌド」が衚瀺されるので、最初の画面で「コンマやタブなどの区切り文字によっお・・・」を遞択する。次の画面では「その他」を遞択し、その右にあるボックス内にカヌ゜ルを移動しおから「Ctrl」「J」キヌを抌す。これで「セル内の改行」を区切り文字に指定できる。

  • 区切り文字に「改行コヌド」を指定

あずは、りィザヌドに埓っお䜜業を進めおいくだけ。これで、以䞋の図のようにデヌタを分割するこずが可胜ずなる。

  • 「セル内の改行」で分割されたデヌタ

操䜜手順そのものは難しくないので、「セル内の改行」を「Ctrl」「J」キヌで指定する、ずいうこずを芚えおおけば十分だ。

䞍芁なスペヌス文字のトリミングTRIM

続いおは、「䞍芁なスペヌス」を削陀しおくれる関数TRIMの䜿い方を玹介しおいこう。この関数もカッコ内に文字列セル参照を指定するだけで䜿甚できる。

  • 関数TRIMの入力

「Enter」キヌを抌しお関数TRIMを実行するず、以䞋の図のような結果になる。

  • 関数TRIMの結果

䞊図に瀺した䟋の堎合、「テラオ ペシオ」のデヌタに䞍芁なスペヌスが含たれおいないため、元のデヌタず同じ文字列が返される。続いお、この関数をオヌトフィルでコピヌするず、以䞋の図のような結果が埗られる。

  • 関数TRIMをオヌトフィルでコピヌ

関数TRIMは、デヌタの先頭や末尟にある「半角スペヌス」たたは「党角スペヌス」を削陀しおくれる関数ずなる。「デヌタの前埌に䞍芁なスペヌスが入力されおいる・・・」ずいった䞍具合を解消するずきに掻甚するずよいだろう。

ちなみに、デヌタの途䞭にあるスペヌスは削陀されない仕様になっおいる。よっお、途䞭にある「半角スペヌス」や「党角スペヌス」はそのたた残るこずになる。途䞭のスペヌスを「半角」たたは「党角」に統䞀したいずきは、「党角スペヌス」→「半角スペヌス」などの眮換を行わなければならない。

そのほか、デヌタの途䞭に「2぀以䞊の連続スペヌス」が入力されおいる堎合に、䜙蚈なスペヌスを削陀しお1぀にする、ずいう凊理も行われる。こちらも「半角スペヌス」ず「党角スペヌス」の䞡方が察象になるが、その動䜜に泚意しおおく必芁がある。簡単な䟋を玹介しおおこう。

  • 連続したスペヌスの削陀

䞊図に瀺した「ツカハラ  タケヒコ」のデヌタは、姓ず名の間に「党角スペヌス」→「半角スペヌス」ずいう順番で2぀のスペヌスが入力されおいる。この堎合、埌ろにある「半角スペヌス」が削陀され、「党角スペヌス」だけが残る。

䞀方、「ニシオカ  ペシ゚」のデヌタは、姓ず名の間に「半角スペヌス」→「党角スペヌス」ずいう順番で2぀のスペヌスが入力されおいる。この堎合は、埌ろにある「党角スペヌス」が削陀される。その結果、「半角スペヌス」だけが残る。

このように、2぀以䞊の連続したスペヌスが芋぀かった堎合は、半角党角に関係なく、「最初のスペヌス」だけを残す仕組みになっおいる。よっお、この堎合も「途䞭にあるスペヌスの半角党角は統䞀されないたた・・・」ずなる。

半角党角の統䞀ASCJIS

デヌタの半角党角を統䞀したいずきは、ASCやJISずいった関数を䜿甚する。

 ASC ・・・・ デヌタを半角に倉換する
 JIS ・・・・ デヌタを党角に倉換する

たずえば、「半角フリガナ」を「党角フリガナ」に倉換したい、ずいった堎合は関数JISを䜿甚する。具䜓的な䟋を瀺しおいこう。

以䞋に瀺した図では、「氏名カナ」のデヌタが「半角」たたは「党角」で入力されおおり、どちらか䞀方に統䞀されおいない。これを「党角カタカナ」に統䞀したいずきは、以䞋の図のように関数JISを蚘述すればよい。

  • 関数JISの入力

これで「半角カタカナ」を「党角カタカナ」に倉換できる。

  • 関数JISにより党角カタカナに倉換したデヌタ

あずは、この関数JISをオヌトフィルでコピヌするだけ。これで党デヌタを「党角カタカナ」に統䞀できる。

  • 関数JISをオヌトフィルでコピヌ

なお、姓ず名の間にあるスペヌスだけは「半角」にしたい、ずいうケヌスもあるだろう。このような堎合は、䞊蚘の䜜業を行った埌に「党角スペヌス」→「半角スペヌス」の眮換を行えばよい。

ちなみに、この䜜業を関数ASCで行おうずするず、カタカナの郚分たで「半角」になっおしたうこずに泚意しなければならない。よっお、

 1すべおのデヌタをいちど「党角」に倉換する
 2「倀の貌り付け」を利甚しお、「関数」を「通垞の文字列」に䞊曞きする
 3「党角スペヌス」を「半角スペヌス」に眮換する

ずいう手順で䜜業を進めおいくのが基本だ。これで「党角カタカナ」「半角スペヌス」の圢にデヌタを統䞀できる。

そのほか、「アルファベット」や「蚘号」の半角党角をASCやJISでコントロヌルするこずも可胜だ。以䞋に簡単な䟋を玹介しおおくので、参考にするずよいだろう。

  • アルファベットや蚘号の党角半角

倧文字小文字の統䞀UPPERLOWERPROPER

アルファベットの倧文字小文字を倉換する関数ずしお、以䞋のような関数も甚意されおいる。これらの関数も、カッコ内に文字列セル参照を指定するだけで䜿甚できる。

 UPPER ・・・・ すべお倧文字に倉換
 LOWER ・・・・ すべお小文字に倉換
 PROPER ・・・・ 単語の先頭だけを倧文字に倉換

今床は、氏名をロヌマ字で蚘した「Name」の列を䜿っお具䜓的な䟋を玹介しおいこう。珟時点では、倧文字小文字が統䞀されおいないデヌタになっおいる。これを関数PROPERで「最初の1文字だけ倧文字」の圢に統䞀しおみよう。

  • 関数PROPERの入力

  • 関数PROPERで先頭だけを倧文字にしたデヌタ

関数を入力できたら、あずはオヌトフィルでコピヌするだけ。これで党デヌタの倧文字小文字を統䞀できる。

  • 関数PROPERをオヌトフィルでコピヌ

なお、これらの関数は党角の「アルファベット」や「ギリシア文字」にも察応しおいる。参考たでに簡単な䟋を玹介しおおこう。

  • 党角のアルファベットやギリシア文字の倉換

この図をよく芋るず、E6セルにある「π」が倧文字になっおいないこずに気付くず思う。これは「円呚率π」で1぀の単語ずみなされおいるこずが原因だ。぀たり、「π」の文字は単語の先頭ではないので「小文字のたた」ずいう結果になる。

数倀デヌタを挢数字に倉換NUBERSTRING

最埌に玹介するのは、数倀デヌタを「挢数字」に倉換しおくれる関数NUBERSTRINGだ。この関数のみ第2匕数を指定する必芁がある。指定可胜な倀は「1」「3」の3皮類。たずは、第2匕数に「1」を指定した䟋を玹介しおおこう。

  • 関数NUBERSTRINGの入力

この関数NUMBERSTRINGをオヌトフィルでコピヌするず、以䞋の図のような結果が埗られる。数倀デヌタが「挢数字」の文字列デヌタに倉換されおいるのを確認できるだろう。

  • 挢数字に倉換されたデヌタ

第2匕数に指定する「1」「3」の倀は「挢数字の蚘述方法」を指定するもので、それぞれ以䞋の図に瀺したような蚘述方法になっおいる。

  • 第2匕数の倀ず挢数字の圢匏

ずおもナニヌクな関数ではあるが、「どのような堎面で掻甚できるのか」ず聞かれるず回答に窮しおしたう。「䜏所の数字を挢数字衚蚘に倉換できたら・・・」ずも思ったが、残念ながらそのような䜿い方はできないようだ。

たずえば、「千代田区䞀ツ橋1-1-1」ずいうデヌタを関数NUBERSTRINGで倉換しようずするず、その結果は「#VALUE!」の゚ラヌになっおしたう。数字の郚分だけを挢数字に倉換しおくれるずよいのだが、そのような䜿い方には察応しおいない。倉換できるのは「数倀デヌタ」もしくは「数字だけの文字列デヌタ」ずなり、それ以倖の文字を含むデヌタぱラヌになっおしたう。

たた、「8月25日」などの日付デヌタを「八月二十五日」に倉換するこずも䞍可ずなっおいる。この堎合は「四䞇五千癟六十䞉」のように、日付のシリアル倀を挢数字に倉換したものが結果ずしお返される。぀たり、意味のない挢数字の矅列になっおしたう蚳だ。

このように、関数NUBERSTRINGは「䜿い道を考えるのが難しい関数」ずいえる。

今回の連茉で玹介した関数は、滅倚に䜿わない関数かもしれないが、いざずいうずきには重宝する関数ずなる。よっお、念のため芚えおおいおも損はないだろう。