数多くの種類が用意されているExcelの関数の中に、文字列関数と呼ばれる関数があります。文字列関数は、Excelに入力された文字列データの操作を容易に行うことを可能とする関数です。今回は、Excelの文字列関数について詳しく紹介します。
チャット一括管理アプリ「OneChat」が今なら初月無料!!
OneChatのダウンロードはこちらから
Excelの文字列関数の概要
Excelの文字列関数の概要について紹介します。
関連記事:仕事に必携!VLOOKUP関数で劇的に効率アップする方法
文字列データの操作と活用法
文字列関数では、対応した関数を用いた文字列の操作を簡単に行うことができます。例えば、文字列関数では次のようなことが可能です。
- テキストの結合する
- 部分文字列を取得する
- 文字列を分類する
- 文字列を置換する
- 文字列を変換する
以下では、それぞれの操作を可能とするExcelの文字列関数について詳しく紹介していきます。
よく使うExcel文字列関数の一覧
よく使うExcelの文字列関数について紹介します。
関数名 | 構文+概要 |
CONCATENATE関数 | =CONCATENATE(文字列 1 [文字列 2], …)2つ以上の複数の文字列の結合を行い、1つの文字列をすることができます。 |
FIND関数 | =FIND(検索文字列, 対象, [開始位置])指定の文字列の検索を他の文字列より行います。この際、文字列に含まれる大文字と小文字の違いは区別されます。 |
LEFT関数 | =LEFT(文字列, [文字数])指定の文字列の左端(先頭)から指定の文字数分の文字を返してくれます。 |
LEN関数 | =LEN(文字列)指定した文字列に含まれる文字数を返してくれます。スペースは1文字としてカウントされます。 |
LOWER関数 | =LOWER(文字列)指定した文字列に含まれる英大文字を全部小文字へと変換します。 |
MID関数 | =MID(文字列, 開始位置, 文字数)指定の文字列の任意の位置から、指定の文字数分の文字を返してくれます。 |
RIGHT関数 | =RIGHT(文字列, [文字数])指定の文字列の右端(末尾)から指定の文字数分の文字を返してくれます。 |
SEARCH関数 | =SEARCH(検索文字列,対象,[開始位置])指定した文字列をその他の文字列の中から検索を行います。この際、大文字と小文字の違いは区別されません。 |
SUBSTITUTE関数 | =SUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象])文字列の中に含まれる指定した文字を、別の文字へと置換します。 |
TEXT関数 | =TEXT(値, 表示形式)指定した数値を設定した書式の文字列へと変換します。 |
UPPER関数 | =UPPER(文字列)指定した文字列に含まれる英大文字をすべて小文字へと変換します。 |
VALUE関数 | =VALUE(文字列)指定した文字列を数値へと変換します。 |
参考:文字列関数 (リファレンス) – Microsoft サポート
文字列抽出を簡単にする便利な関数達
「LEFT関数」「MID関数」「RIGHT関数」を使うことにより、簡単に文字列から文字数を指定して抽出することができます。これらの関数は、単一のセル内に複数のデータが含まれている際、そのデータを分解した状態で抽出を行いたい場合に便利です。
それぞれの関数の構文は以下のように記述します。
=LEFT(文字列, [文字数])
=MID(文字列, 開始位置, 文字数)
=RIGHT(文字列, [文字数])
項目 | 内容 |
文字列 | 抽出を行いたい文字列の指定を行います。 |
文字数 | 第一引数で指定した文字列から、何文字の抽出を行うかを指定します。抽出される文字数のカウントの位置は関数により異なります。LEFT:文字列の左端から数えた数字MID:第二引数(開始位置)により指定された場所から数えるRIGHT:文字列の右端から数えた数字 |
開始位置 | (MID関数のみ)文字列より文字の抽出を行う場所の指定を行います。ここで入力される数字は、文字列の左からカウントした数となります。 |
例えば、下記データからそれぞれの関数を用いて文字列の抽出を行うと、次のような結果となります。
行\列 | A | B | C | D |
1 | 顧客情報 | 居住地 | 年齢 | 性別 |
2 | 千葉県20代男性 | =LEFT(A2,3) | =MID(A2,4,3) | =RIGHT(A2,2) |
行\列 | A | B | C | D |
1 | 顧客情報 | 居住地 | 年齢 | 性別 |
2 | 千葉県20代男性 | 千葉県 | 20代 | 男性 |
参考:
LEFT 関数、LEFTB 関数 – Microsoft サポート
MID 関数、MIDB 関数 – Microsoft サポート
RIGHT 関数、RIGHTB 関数 – Microsoft サポート
文字列処理でビジネス効率をアップ
文字列の処理を文字列関数により行うことにより、ビジネス効率をアップさせる方法について紹介します。
会社や企業でExcel文字列関数を活用する方法
会社や企業でExcelの文字列関数を活用する方法はさまざまですが、主な活用例をいくつか紹介します。
データの整形
不要な情報を削除したり、特定の情報を抽出したりする際に活用します。例えば、電話番号やメールアドレスなどから特定の部分を抽出することができます。
データの結合
複数のデータを結合して新しい情報を作成する際に活用します。例えば、名前の姓と名を結合してフルネームを作成することができます。
条件付き書式
特定の条件を満たすセルに対して書式設定を行う際に活用します。例えば、売上が一定金額以上の場合にセルの色を変えることができます。
データの検索
特定の文字列が含まれるセルを検索する際に活用します。例えば、特定のキーワードを含む商品名を検索することができます。
文字列の分割
文字列を分割して個々の要素に分ける際に活用します。例えば、住所を都道府県、市区町村、番地などに分割することができます。
これらの方法を活用することで、Excelを効果的に活用し、業務効率を向上させることができます。
セルデータの検索と絞り込みで業務効率向上
セルデータの検索と絞り込みを文字列関数を使って行う方法について、具体的な手順を踏まえて紹介します。
例えば、次のようなデータが入力されているとしましょう。
行\列 | A | B |
1 | Apple | |
2 | Banana | |
3 | Orange | |
4 | Kiwi | |
5 | Melon |
部分一致検索を行う
「SEARCH関数」を用いることで、大文字・小文字を区別することなく部分一致検索を行うことができます。例えば、文字列の中に「a」が含まれるデータの抽出を行いたい場合は、以下のような数式で行うことができます。
=IFERROR(SEARCH(“a”, A1), 0)
この数式をA列全体に適用することによって、「a」が含まれるセルのある行と含まれる「a」の個数を特定することができます。
行\列 | A | B |
1 | Apple | =IFERROR(SEARCH(“a”, A1), 0) |
2 | Banana | |
3 | Orange | |
4 | Kiwi | |
5 | Melon |
行\列 | A | B |
1 | Apple | 1 |
2 | Banana | 2 |
3 | Orange | 3 |
4 | Kiwi | 0 |
5 | Melon | 0 |
実践!条件に応じたデータ抽出と表示
条件に応じたデータ抽出方法について、具体例を交えて紹介します。
例えば、次のようなデータが入力されているとしましょう。
行\列 | A | B |
1 | Apple | |
2 | Banana | |
3 | Orange | |
4 | Kiwi | |
5 | Melon |
特定の文字列を含むデータを抽出する
「FIND関数」を用いることで、特定の文字列を含むデータの抽出を行うことができます。例えば、文字列の中に「an」が含まれるデータの抽出を行いたい場合は、以下のような数式で行うことができます。
=FIND(“an”, A1)
この数式をA列全体に適用することによって、「an」が含まれるセルのある行を特定することができます。
ただし、この状態だと「an」が含まれないセルではエラーとなってしまいます。IFERROR関数と組み合わせて以下のような数式とするとすることで、条件に当てはまらない場合に任意の表示をさせることができます。今回は「0」と表示させるように設定します。
=IFERROR(FIND(“an”, A1), 0)
行\列 | A | B |
1 | Apple | =IFERROR(FIND(“an”, A1), 0) |
2 | Banana | |
3 | Orange | |
4 | Kiwi | |
5 | Melon |
行\列 | A | B |
1 | Apple | 0 |
2 | Banana | 2 |
3 | Orange | 3 |
4 | Kiwi | 0 |
5 | Melon | 0 |
文字列関数を使った具体的な事例と解説
文字列関数を使った具体的な事例について紹介します。
業務データの抽出・変換・結合
文字列関数を使った業務データの抽出・変換・結合について解説します。
①データの抽出
特定の条件を満たすデータを抽出する場合は、「FILTER関数」を使用することで可能です。
行\列 | A | B |
1 | Apple | |
2 | Banana | |
3 | Orange | |
4 | Kiwi | |
5 | Melon |
例えば、上記データのA列の文字列の中から「an」が含まれるデータの抽出を行いたい場合は、以下のような数式で行うことができます。
=FILTER(A:A, IFERROR(SEARCH(“an”, A:A), 0) > 0)
これにより、A列の文字列の中から「an」を含むセルのデータが抽出されます。また、この数式は任意のセルに適用することにより、A列全体の中から「an」が文字列に含まれるデータの抽出を行ってくれます。
行\列 | C |
1 | =FILTER(A:A, IFERROR(SEARCH(“an”, A:A), 0) > 0) |
2 |
行\列 | C |
1 | Banana |
2 | Orange |
大文字・小文字を区別してデータの抽出を行いたい場合は、「SEACH関数」ではなく、「FIND関数」を用いましょう。
②データの変換
特定文字列の置換
「SUBSTITUTE関数」を用いることで、文字列内に存在する特定の文字列のみを別の文字列に置き換えることができます。例えば、「山田 太郎」の「山田」を「鈴木」に置換する場合の数式は、以下の通りです。
=SUBSTITUTE(山田 太郎, ”山田”, ”鈴木”)
大文字・小文字への変換
特定の文字列を大文字、または小文字へと変換したい場合は、「UPPER関数」や「LOWER関数」を用いることにより可能です。
大文字へと変換したい場合は「UPPER関数」、小文字へと変換したい場合は「LOWER関数」を使いましょう。
それぞれの関数の構文は以下の通りです。
=UPPER(文字列)
=LOWER(文字列)
③データの結合
複数のデータを結合する場合は、「CONCATENATE関数」を用いると良いでしょう。
行\列 | A | B | C |
1 | 姓 | 名 | 姓+名 |
2 | 山田 | 太郎 |
例えば、上記データから姓と名を結合してフルネームを作成する場合は、次のような数式となります。
=CONCATENATE(A2, ” “, B2)
これにより、A2セルの内容(姓)とB2セルの内容(名)がスペース区切りで結合されます。
行\列 | A | B | C |
1 | 姓 | 名 | 姓+名 |
2 | 山田 | 太郎 | =CONCATENATE(A2, ” “, B2) |
行\列 | A | B | C |
1 | 姓 | 名 | 姓+名 |
2 | 山田 | 太郎 | 山田 太郎 |
セルの書式設定と組み合わせた活用法
文字列関数とセルの書式設定を組み合わせることで、データの表示や整形を効果的に行うことができます。活用方法の一例を紹介します。
数値を特定の形式で表示する
「TEXT関数」を用いて、数値を特定の形式で表示することができます。例えば、日付を「yyyy/mm/dd」の形式で表示する場合は次のように入力することで可能です。
=TEXT(A1, “yyyy/mm/dd”)
行\列 | A | B |
1 | 20240314 | =TEXT(A1, “yyyy/mm/dd”) |
行\列 | A | B |
1 | 20240314 | 2024/03/14 |
テキストと数値を組み合わせて表示する
「CONCATENATE関数」や「&演算子」を使って、テキストと数値を組み合わせて表示することができます。例えば、「売上は1000万円です」というように表示する場合は次のように入力することで可能となります。
=CONCATENATE(“売上は”, A1, “万円です”)
=”売上は” & A1 & “万円です”
行\列 | A | B |
1 | 1000 | =CONCATENATE(“売上は”, A1, “万円です”) |
行\列 | A | B |
1 | 1000 | 売上は1000万円です |
数値と文字列の操作・計算のコツ
入力されている内容に数値や文字列が混在してしまっていると、計算時にエラーが発生したり、並び替えた際の順序が適切なものとならなくなってしまうことがあります。
そういった問題は、文字列関数を活用することにより回避することができます。
数値を文字列に変換する
数値を文字列として扱いたい場合は、「TEXT関数」を用いることで数値を指定した形式の文字列に変換します。例えば、数値を通貨形式で表示する場合は次のようにします。
=TEXT(A1, “¥#,##0”)
行\列 | A | B |
1 | 10000000 | =TEXT(A1, “¥#,##0”) |
行\列 | A | B |
1 | 10000000 | ¥10,000,000 |
文字列を数値に変換する
文字列を数値として扱いたい場合は、「VALUE関数」を使って変換します。例えば、文字列を数値に変換する場合は次のようにします。
=VALUE(A1)
行\列 | A | B |
1 | ¥10,000,000 | =VALUE(A1) |
行\列 | A | B |
1 | ¥10,000,000 | 10000000 |
文字列関数をさらに使いこなすためのコツ
ここでは、文字列関数を利用する際のポイントについて紹介します。
文字列関数の引数や条件を最適化
文字列関数の引数や条件を最適化することは、計算の効率や正確性を向上させるために重要です。以下では、引数や条件を最適化する際のポイントを紹介します。
余分な引数を避ける
関数に必要な最小限の引数を指定することで、計算の効率を向上させることができます。余分な引数を含めると、計算の負荷が増える可能性があります。
条件を簡潔にする
条件を簡潔に表現することで、計算の理解や保守性を向上させることができます。複雑な条件を避け、できるだけシンプルな条件で処理するように心がけましょう。
不要な演算を避ける
不要な演算を避けることで、計算の効率を向上させることができます。特に大量のデータを処理する場合は、演算の回数を最小限に抑えるようにしましょう。
関数の組み合わせを考える
複数の関数を組み合わせることで、より効率的な処理が可能になることがあります。関数を組み合わせることで、より複雑な処理を行うことができます。
計算量を考慮する
処理にかかる計算量を考慮して、最適な方法で処理を行うようにしましょう。大量のデータを処理する場合は、計算量が少ない方法を選択することが重要です。
簡単!エラー対策とトラブルシューティング
Excelで文字列関数を使っていると、「#VALUE!」などのエラーが表示されることがあると思います。そういった場合に大切なのが、エラーの原因を特定し、原因に合わせた対処を行うことです。
エラーの原因を特定するトラブルシューティングとエラー対策のポイントは以下の通りです。
データの確認
エラーが発生しているセルや範囲のデータを確認します。参照元のデータの形式や内容に問題がないかをチェックしましょう。
関数の引数を確認する
関数の引数が正しく指定されているかを確認します。関数の引数が不足している、または余分な引数が指定されている場合がエラーの原因となることがあります。「F2」キーを用いることで、入力した関数の内容を確認することができます。
条件式の確認
条件式が正しく指定されているかを確認します。条件式が複雑すぎる、または間違っている場合がエラーの原因となることがあります。
エラー処理を追加する
もし、数式の結果としてエラーが発生することが許容できる場合は、エラーが発生した際の処理を追加すると、エラーの際に任意の表示をさせることができます。
例えば、「IFERROR関数」を用いることでエラーが発生した場合に代替の値を表示することができます。
関数の組み合わせを見直す
複数の関数を組み合わせて処理を行っている場合、関数の組み合わせに問題がある可能性があります。関数を単体で動作させて正しい結果が得られるかを確認し、組み合わせに問題がないかを確認しましょう。
よくある質問
Excelの文字列関数に関するよくある質問について紹介します。
Excelの関数に文字列を入れるには?
Excelの関数に文字列を入れる方法はいくつかありますが、主に用いられることの多い方法を紹介します。
ダブルクォーテーションを用いて直接文字列を入力する
関数の引数として直接文字列を入力したい場合は、入力したい文字列をダブルクォーテーション(”)で囲むことにより有効な引数として入力することができます。例えば、「LEN関数」で「Hello」の文字数を数える場合は、以下のように入力します。
=LEN(“Hello”)
文字列が入力されているセルを参照する
セルに入力済みの文字列を関数の引数として用いたい場合は、セルを参照しましょう。例えば、A1のセルに入力されている「Hello」の文字数を数える場合は、以下のように入力します。
=LEN(A1)
ダブルクォーテーションをエスケープする
入力したい文字列にダブルクォーテーションが含まれる場合は、ダブルクォーテーションを連続して記述し、エスケープを行うことで有効な引数とすることができます。例えば、「He said “Hello”」の文字数を数える場合は、以下のように入力します。
=LEN(“He said ““Hello”””)
エクセルで文字列をつなげる関数は?
エクセルで文字列をつなげることのできる関数は、主に2つです。
関数 | 構文と使い方 |
CONCATENATE関数 | =CONCATENATE(文字列 1 [文字列 2], …) =CONCATENATE(“Hello”, ” “, “World”)→「Hello World」 |
TEXTJOIN関数 | =TEXTJOIN(区切り記号, 空の文字列を無視, 文字列1, 文字列2, …)区切り記号:文字列の間に挿入したい文字列を指定する 空の文字列を無視:「TRUE」または「FALSE」により指定する「TRUE」では空の文字列はつなげず、その文字列の場所には「区切り記号」を挿入しません。「FALSE」では空の文字列もつなげる対象として、どの文字列の場所にも「区切り記号」を挿入します。 文字列:つなげたい文字列を指定します。また、セル範囲で指定することもできます。 =TEXTJOIN(” “, TRUE, “Hello”, “World”)→「Hello World」 |
参考:TEXTJOIN 関数 – Microsoft サポート
エクセルで文字列として扱う関数は?
「TEXT関数」を用いることで、セルの数値を指定した文字列として変換することができます。例えば、日付を「yyyy/mm/dd」の形式で表示する場合は次のように入力することで可能です。
=TEXT(A1, “yyyy/mm/dd”)
行\列 | A | B |
1 | 20240314 | =TEXT(A1, “yyyy/mm/dd”) |
行\列 | A | B |
1 | 20240314 | 2024/03/14 |
まとめ
文字列関数は、使いこなすことができれば文字列操作を容易に行うことができる優れた関数です。文字列関数が使いこなせれば業務効率のアップへとつなげることもできるでしょう。
Excel関数文字列に関する重要用語
用語 | 内容 |
セル | Excel上に表示されているマス目のことを指し、データや計算式を入力するための最小単位のことです。列と行によって指定され、列は英字で、行は数字で示されます。 |
IFERROR関数 | =IFERROR(値, エラーの場合の値)数式の値がエラーである場合、そのエラー表示を別の文字列などに置き換えることができる関数です。 |
TEXTJOIN関数 | =TEXTJOIN(区切り記号, 空の文字列を無視, 文字列1, 文字列2, …)指定した区切り記号を挿入しながら、複数の文字列を結合することができる関数です。 |