前回、企業が入社テストとして出題した「Excel問題」のその3をやってみました。
今回も文字列操作を行う関数についてとなります。
それでは一緒にやっていきましょう。
問題4を確認
出題されていたエクセルの画面と同じものを作成し、以下からダウンロードできるようにしてあります。
今回は文字種の変換を行う関数の使い方ですね。

前回と同様、セルの書式設定を使わず関数で「文字種の変換」を行います。
今回使う関数を先に挙げておきましょう。
- 半角→全角:JIS関数
- 全角→半角:ASC関数
- 小文字→大文字:UPPER関数
- 大文字→小文字:LOWER関数
最初は、すべて小文字で全角にする方法です。
小文字・全角に変換する
英語の大文字を小文字にする場合は「LOWER関数」を使います。

大文字は小文字になり、元々小文字だった文字はそのままとなります。
さらに文字を全角にします。

先ほど「LOWER関数」で小文字にした式を「JIS関数」で覆います。
JIS(LOWER(B6))
基データは全角になっているので、変化はありません。
今後基データが半角で入力された際には、この「D6セル」の文字は自動的に全角で表示されるようになります。
ちなみにこの場合、「LOWER(JIS(B6))」と関数の順番を逆にしても問題ありません。
半角に変換する
次は全角文字を半角文字にします。
半角文字への変換は、「ASC関数」を使います。

「セルD9」に、「ASC関数」を使って基データを半角にした文字が表示されました。
スペースも半角スペースに変わっています。
大文字・半角に変換する
先ほど「LOWER関数」で大文字を小文字にしましたが、今回は逆に小文字を大文字に変換します。
大文字に変換するのは「UPPER関数」になります。

「UPPER関数」で小文字は大文字に、元々大文字だった文字はそのままとなります。
さらに先ほどと同じように「ASC関数」を使って半角にします。

「UPPER関数」を「ASC関数」で覆います。
ASC(UPPER(B6))
ちなみにこの場合、「UPPER(ASC(B6))」と関数の順番を逆にしても問題ありません。
スペースなしの文字に変換する
ここまで、文字種の変換を関数で操作してきました。
続いて、文字の中に含まれているスペースを取り除く方法を見ていきたいと思います。
「セルB6」の基データには、CとDの間に全角スペースが1つあります。
このスペースを「SUBSTITUTE関数」を使って取り除きたいと思います。

「文字列」の引数には、基データの「セルB6」を指定します。
「検索文字列」は、スペースです。
「セルB6」には全角スペースが1つ入っていますね。
全角スペースは「" "」のように、ダブルクォーテーションの間に全角スペースを1つ入れてください。
この場合、半角スペースではスペースを取り除けません。
最後に「置換文字列」を指定します。
ここは、全角スペースを取り除いた後の空文字(文字が何もない状態)を入れます。
「""」のようにダブルクォーテーションを2つ連続で入力すると、空文字となります。

余分なスペースを取り除きたい時に、使える関数となります。
では、最後にスペース以外で文字を入れ替えてみましょう。
文字を入れ替える
今度は、スペースではなく文字列を違う文字列に変える方法です。
とは言っても、同じ「SUBSTITUTE関数」を使うだけです。

「検索文字列」に㈱を指定し、「置換文字列」に株式会社を指定しました。
上の画面のように関数ダイアログを使うのであれば、文字列には自動的に「""」(ダブルクォーテーション)が付きます。
問題4まとめ
今回は文字種の変換や文字の入れ替えなどを関数で捜査してみました。
簡単におさらいをしておきましょう。
- 半角/全角、小文字/大文字を関数で入れ替えられるか
- 文字列中のスペースを取り除けるか
- ある文字を違う文字に入れ替えられるか
さて、少し実践的なお話をして今回は終わりとしましょう。
もし「基データ」(セルB6)を何か違う文字列に編集したとします。
そうなると関数で変更した文字列も、基データの編集後の文字列に関数を適用した形へと変わってしまいます。
でも、基データがどのように編集されようと、関数を使ったセルの文字列はそのまま使いたい、つまり基データとは切り離したい時があると思います。
その際は、関数を使って変換した文字列のセル、今回で言えば「セルD6」や「セルD9」などをコピーして、違うセルに「形式を選択して貼り付け」から「値」で貼り付けます。

例えば、上のように「株式会社ABC DEdeFG」という関数を使って文字列を変更したセルをコピーして、形式を選択して貼り付けから「値」で貼り付けると、基データを関数で変換した文字列ではなく、値そのものが貼り付けられます。
セルのデータが関数の結果ではなく、値であれば、基データに変更があった場合でも影響を受けずに済みます。
どんな関数を使う場合でも、この「値としてデータを持つ」という操作方法は覚えておきたいところです。
次回は問題5に進んでいきます。
