Excelを使っていて、氏名の姓と名を分けたり、不要なスペースを消したり、特定の文字を置き換えたりといった「文字列(テキスト)の操作」で悩んだ経験はありませんか?
実は、Excelには、「テキスト関数」が全部で41種類あります。(Office 365環境)。
- テキスト関数全41種類のリストと、それぞれの機能概要
- 各関数の構文(引数の並び)と、各引数が具体的に何を意味するのか
テキスト関数とは?その役割とOffice 365の最新機能
テキスト関数が担う重要な役割
Excelの中で「文字列データ」を扱うために特化した関数のこと
- 文字列の抽出・分割・結合
氏名から「姓」だけを取り出す、複数のセルにある文字列を一つにまとめる、など。 - 文字列の編集・変換
文字を大文字や小文字に変換する、不要なスペースを削除する、など。 - 表示形式の変更
数値を「日付」や「通貨」などの文字列形式に変換して表示する、など。
関数を使いこなせば、手作業で何時間もかかっていたデータクレンジング(データの整形)が一瞬で完了します。
Office 365で追加された最新・注目の関数
Office 365では、データ処理を劇的に変えるスピル(あふれ出し)機能に対応した新しいテキスト関数が追加されています。
- TEXTSPLIT
セル内の文字列を、指定した区切り文字で一気に複数の列や行に分割できます。 - TEXTBEFORE / TEXTAFTER
指定した区切り文字の前または後の文字列を簡単に抽出できます。
【全41種類】テキスト関数一覧とカテゴリ分類
まずは、Excelのテキスト関数全41種類を機能別に分類した一覧表をご紹介します。
カテゴリ | 主な機能 | 該当関数名(全41種) |
抽出・分割・結合 | 文字列の切り出し、連結、分割 | LEFT,RIGHT,MID,TEXTSPLIT,CONCAT,TEXTJOIN,TEXTBEFORE,TEXTAFTER |
変換・整形 | 大文字・小文字、スペース、置換 | UPPER,LOWER,PROPER,TRIM,CLEAN,REPLACE,SUBSTITUTE,REPT |
文字コード・バイト | 文字数、全角・半角変換 | LEN,CODE,CHAR,UNICODE,UNICHAR,ASC,JIS |
表示形式・数値変換 | 数値の文字列化、書式設定 | TEXT,VALUE,NUMBERVALUE,FIXED,ALUETOTEXT,ARRAYTOTEXT,DOLLAR,YEN,BAHTTEXT |
検索・確認 | 文字列の検索、比較 | FIND,SEARCH,EXACT,T |
高度な機能 | 正規表現、言語検出・翻訳 | REGEXEXTRACT,REGEXREPLACE,REGEXTEST,DETECTLANGUAGE,TRANSLATE |
【使い方と具体例】テキスト関数41種類を徹底解説!
ここからは、41種類の関数をカテゴリごとに、具体的な使い方と実行例を交えて徹底的に解説していきます。
カテゴリ1: 抽出・分割・結合(8種類)
文字列の一部を抜き出したり、複数の文字列をまとめたりする際に最も頻繁に使う関数です。
1. LEFT 関数
概要 文字列の左端から、指定した数の文字を抽出します。
構文
LEFT(文字列, [文字数])
引数の意味
- 文字列: 切り出したい元の文字列が入力されているセルを指定します。
- 文字数: 左から何文字分を切り出すかを指定します(省略すると1と見なされます)。

2. RIGHT 関数
概要 文字列の右端から、指定した数の文字を抽出します。
構文
RIGHT(文字列, [文字数])
引数の意味
- 文字列: 切り出したい元の文字列が入力されているセルを指定します。
- 文字数: 右から何文字分を切り出すかを指定します(省略すると1と見なされます)。

3. MID 関数
概要 文字列の途中から、指定した位置から指定した数の文字を抽出します。
構文
MID(文字列, 開始位置, 文字数)
引数の意味
- 文字列: 切り出したい元の文字列が入力されているセルを指定します。
- 開始位置: 切り出しを始める文字の位置を左から数えて指定します。
- 文字数: 開始位置から何文字分を切り出すかを指定します。

4. CONCAT 関数
概要 複数のセルや文字列を連結します(以前の CONCATENATE 関数や & 演算子と同じ機能)。
構文
CONCAT(文字列1, [文字列2], …)
引数の意味
- 文字列1, 文字列2…: 連結したいセル、文字列(ダブルクォーテーションで囲む)、または数式を指定します。

5. TEXTJOIN 関数
概要 区切り文字を指定して、複数のセルや文字列を連結します。空白セルを無視する設定も可能です。
構文
TEXTJOIN(区切り記号, 空白を無視, 結合する文字列1, …)
引数の意味
- 区切り記号: 各文字列の間に挿入したい文字を指定します。
- 空白を無視:
TRUE
なら空白セルを無視、FALSE
なら空白セルも含めて連結します。 - 結合する文字列1…: 結合したいセル範囲や文字列を指定します。

6. TEXTSPLIT 関数
概要 指定した区切り記号に基づいて、一つのセル内の文字列を複数のセルに分割します。(Office 365の強力な新関数。結果が複数のセルにあふれ出ます=スピル)
構文
TEXTSPLIT(文字列, 列の区切り記号, [行の区切り記号], …)
引数の意味
- 文字列: 分割したい元の文字列を指定します。
- 列の区切り記号: 文字列を列方向に分割するための区切り文字を指定します。
- 行の区切り記号: 文字列を行方向に分割するための区切り文字を指定します。

7. TEXTBEFORE 関数
概要 指定した区切り記号より前にある文字列を抽出します。(Office 365の新関数)
構文
TEXTBEFORE(文字列, 区切り記号, [インスタンス番号], …)
引数の意味
- 文字列: 抽出したい元の文字列を指定します。
- 区切り記号: 区切りとなる文字を指定します。
- インスタンス番号: 抽出したい「区切り記号」が何番目にあるかを指定します(省略すると1番目)。

8. TEXTAFTER 関数
概要 指定した区切り記号より後にある文字列を抽出します。(Office 365の新関数)
構文
TEXTAFTER(文字列, 区切り記号, [インスタンス番号], …)
引数の意味
- 文字列: 抽出したい元の文字列を指定します。
- 区切り記号: 区切りとなる文字を指定します。
- インスタンス番号: 抽出したい「区切り記号」が何番目にあるかを指定します(省略すると1番目)。

カテゴリ2: 変換・整形(8種類)
文字列の見た目を整えたり、特定の文字を置き換えたりする、データクレンジングに必須の関数です。
9. UPPER 関数
概要 文字列内の半角/全角の英字をすべて大文字に変換します。
構文
UPPER(文字列)
引数の意味
- 文字列: 大文字に変換したい文字列を指定します。

10. LOWER 関数
概要 文字列内の半角/全角の英字をすべて小文字に変換します。
構文
LOWER(文字列)
引数の意味
- 文字列: 小文字に変換したい文字列を指定します。

11. PROPER 関数
概要 文字列の単語の先頭文字のみを大文字に変換し、それ以外の英字を小文字に変換します。(固有名詞などに使えます。)
構文
PROPER(文字列)
引数の意味
- 文字列: 単語の先頭を大文字に変換したい文字列を指定します。

12. TRIM 関数
概要 文字列の先頭と末尾にある余分なスペースを削除し、単語と単語の間にある複数のスペースを1つにまとめます。
構文
TRIM(文字列)
引数の意味
- 文字列: スペースを整形したい文字列を指定します。

13. CLEAN 関数
概要 文字列から印刷できない制御文字(改行コードなど)を削除します。
構文
CLEAN(文字列)
引数の意味
- 文字列: 制御文字を削除したい文字列を指定します。

14. REPLACE 関数
概要 文字列の指定した位置にある文字を、指定した文字数分だけ別の文字列に置き換えます。
構文
REPLACE(元の文字列, 開始位置, 文字数, 置換後の文字列)
引数の意味
- 元の文字列: 置き換え前の文字列を指定します。
- 開始位置: 置き換えを始める文字の位置を指定します。
- 文字数: 置き換える文字数を指定します。
- 置換後の文字列: 置き換え後の新しい文字列を指定します。

15. SUBSTITUTE 関数
概要 文字列の中から特定の文字列を検索し、別の文字列に置き換えます。どの文字を置き換えるかを指定するため、より直感的に使えます。
構文
SUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象の回数])
引数の意味
- 文字列: 置き換え前の元の文字列を指定します。
- 検索文字列: 置き換えたい文字列を指定します。
- 置換文字列: 置き換え後の新しい文字列を指定します。
- 置換対象の回数: 置き換えを実行する回数を指定します(省略すると全て置き換え)。

16. REPT 関数
概要 指定した文字列を指定回数分だけ繰り返して表示します。
構文
REPT(文字列, 繰り返し回数)
引数の意味
- 文字列: 繰り返したい文字列を指定します。
- 繰り返し回数: 文字列を繰り返す回数を指定します。

カテゴリ3: 文字コード・バイト(7種類)
文字数やバイト数のカウント、全角・半角の変換、文字コードの操作に関する関数です。
17. LEN 関数
概要 文字列に含まれる文字の数(文字長)を返します。全角・半角を問わず1文字を1とカウントします。
構文
LEN(文字列)
引数の意味
- 文字列: 文字数を数えたい文字列を指定します。

18. ASC 関数
概要 文字列中の全角の英数字やカタカナを半角に変換します。(アスキーコードへの変換)
構文
ASC(文字列)
引数の意味
- 文字列: 半角に変換したい文字列を指定します。

19. JIS 関数
概要 文字列中の半角の英数字やカタカナを全角に変換します。(JISコードへの変換)
構文
JIS(文字列)
引数の意味
- 文字列: 全角に変換したい文字列を指定します。

20. CODE 関数
概要 文字列の先頭の文字の文字コード(ANSIコード)を返します。
構文
CODE(文字列)
引数の意味
- 文字列: 文字コードを取得したい文字列を指定します。

21. CHAR 関数
概要 指定した文字コードに対応する文字を返します。(CODE関数の逆)
構文
CHAR(数値)
引数の意味
- 数値: 文字コードの番号を指定します。

22. UNICODE 関数
概要 文字列の先頭の文字のUnicodeコード値を返します。
構文
UNICODE(文字列)
引数の意味
- 文字列: Unicodeコード値を取得したい文字列を指定します。

23. UNICHAR 関数
概要 指定したUnicodeコード値に対応する文字を返します。(UNICODE関数の逆)
構文
UNICHAR(数値)
引数の意味
- 数値: Unicodeコード値の番号を指定します。

カテゴリ4: 表示形式・数値変換(9種類)
数値や日付を特定の書式を持つ文字列に変換したり、逆に文字列を数値として認識させたりする関数です。
24. TEXT 関数
概要 数値や日付などの値を、指定した書式(例: yyyy/mm/dd、\#,##0)を持つ文字列に変換します。
構文
TEXT(値, 表示形式)
引数の意味
- 値: 書式を適用したい数値や日付を指定します。
- 表示形式: ダブルクォーテーションで囲んで、適用したい表示形式コードを指定します。

25. VALUE 関数
概要 文字列として入力された数値を、計算可能な数値に変換します。
構文
VALUE(文字列)
引数の意味
- 文字列: 数値に変換したい文字列(数字)を指定します。

26. NUMBERVALUE 関数
概要 地域の設定(小数点や桁区切りの記号)を考慮して、文字列を数値に変換します。
構文
NUMBERVALUE(文字列, [小数点], [桁区切り])
引数の意味
- 文字列: 数値に変換したい文字列を指定します。
- 小数点: 文字列内で小数点として使用されている記号を指定します。
- 桁区切り: 文字列内で桁区切りとして使用されている記号を指定します。

27. FIXED 関数
概要 数値を、指定した小数点以下の桁数と桁区切り文字を含む文字列に変換します。
構文
FIXED(数値, [小数点以下の桁数], [桁区切りを使用しない])
引数の意味
- 数値: 書式設定したい数値を指定します。
- 小数点以下の桁数: 表示する小数点以下の桁数を指定します。
- 桁区切りを使用しない:
TRUE
にすると桁区切り(カンマ)が表示されません。

28. VALUETOTEXT 関数
概要 値を、その書式設定を可能な限り保持したまま文字列に変換します。(Office 365の新関数)
構文
VALUETOTEXT(値, [表示形式])
引数の意味
- 値: 文字列に変換したい値を指定します。
- 表示形式: 変換方法を指定します(0:コンパクト、1:厳密)。

29. ARRAYTOTEXT 関数
概要 配列(複数のセル範囲)を結合して、一つの文字列として返します。(Office 365の新関数)
構文
ARRAYTOTEXT(配列, [形式])
引数の意味
- 配列: 文字列に変換したいセル範囲や配列を指定します。
- 形式: 配列をどのように表現するかを指定します(0:コンパクト、1:厳密)。

30. DOLLAR 関数
概要 数値をドル記号($)を含む通貨形式の文字列に変換します。
構文
DOLLAR(数値, [小数点以下の桁数])
引数の意味
- 数値: 通貨形式に変換したい数値を指定します。
- 小数点以下の桁数: 小数点以下の桁数を指定します。

31. YEN 関数
概要 数値を円マーク(¥)を含む通貨形式の文字列に変換します。(DOLLAR関数の日本円版)
構文
YEN(数値, [小数点以下の桁数])
引数の意味
- 数値: 通貨形式に変換したい数値を指定します。
- 小数点以下の桁数: 小数点以下の桁数を指定します。

32. BAHTTEXT 関数
概要 数値をタイの通貨単位(バーツ)の文字列(タイ語)に変換します。
構文
BAHTTEXT(数値)
引数の意味
- 数値: 通貨形式に変換したい数値を指定します。

カテゴリ5: 検索・確認(4種類)
特定の文字が含まれているか、文字列が一致しているかを確認するための関数です。
33. FIND 関数
概要 文字列の中で、指定した文字列が最初に現れる位置を返します。大文字と小文字を区別します。見つからない場合はエラー(#VALUE!)を返します。
構文
FIND(検索文字列, 対象, [開始位置])
引数の意味
- 検索文字列: 検索したい文字や文字列を指定します。
- 対象: 検索対象となる文字列が入力されているセルを指定します。
- 開始位置: 検索を始める位置を指定します(省略すると1文字目から)。

34. SEARCH 関数
概要 文字列の中で、指定した文字列が最初に現れる位置を返します。大文字と小文字を区別しません。見つからない場合はエラー(#VALUE!)を返します。
構文
SEARCH(検索文字列, 対象, [開始位置])
引数の意味
- 検索文字列: 検索したい文字や文字列を指定します。
- 対象: 検索対象となる文字列が入力されているセルを指定します。
- 開始位置: 検索を始める位置を指定します(省略すると1文字目から)。

35. EXACT 関数
概要 二つの文字列が完全に一致するかどうかを比較します。大文字・小文字も区別します。結果は TRUE(一致)または FALSE(不一致)で返されます。
構文
EXACT(文字列1, 文字列2)
引数の意味
- 文字列1: 比較したい最初の文字列を指定します。
- 文字列2: 比較したい二つ目の文字列を指定します。

36. T 関数
概要 指定した値が文字列であればその値をそのまま返し、文字列でなければ空白(空の文字列 “”)を返します。(主に互換性維持のために使用されます。)
構文
T(値)
引数の意味
- 値: 文字列かどうかを調べたい値を指定します。

カテゴリ6: 高度な機能(5種類)
正規表現による複雑なパターンの処理や、言語の検出・翻訳を可能にする高度な関数です。
37. REGEXEXTRACT 関数
概要 文字列の中から、指定した正規表現パターンに一致する部分を抽出します。(Office 365の新関数)
構文
REGEXEXTRACT(文字列, パターン, [インスタンス番号], …)
引数の意味
- 文字列: 検索対象の文字列を指定します。
- パターン: 抽出したい文字列の正規表現パターンをダブルクォーテーションで囲んで指定します。

38. REGEXREPLACE 関数
概要 文字列の中から、指定した正規表現パターンに一致する部分を別の文字列に置き換えます。(Office 365の新関数)
構文
REGEXREPLACE(文字列, パターン, 置換文字列, [インスタンス番号], …)
引数の意味
- 文字列: 置き換え前の元の文字列を指定します。
- パターン: 置き換えたい文字列の正規表現パターンを指定します。
- 置換文字列: 置き換え後の新しい文字列を指定します。

39. REGEXTEST 関数
概要 文字列が指定した正規表現パターンに一致するかどうかを検証します。結果は TRUE(一致)または FALSE(不一致)で返されます。(Office 365の新関数)
構文
REGEXTEST(文字列, パターン, [インスタンス番号], …)
引数の意味
- 文字列: 検証したい文字列を指定します。
- パターン: 検証に使用する正規表現パターンを指定します。

40. DETECTLANGUAGE 関数
概要 文字列がどの言語で書かれているか言語コード(例: ja=日本語、en=英語)を検出して返します。(Office 365の新関数)
構文
DETECTLANGUAGE(文字列)
引数の意味
- 文字列: 言語を検出したい文字列を指定します。

41. TRANSLATE 関数
概要 指定した文字列を別の言語に翻訳します。(Office 365の新関数)
構文
TRANSLATE(文字列, ターゲット言語, [ソース言語])
引数の意味
- 文字列: 翻訳したい文字列を指定します。
- ターゲット言語: 翻訳後の言語コード(例:
"en"
)を指定します。 - ソース言語: 翻訳前の元の言語コードを指定します(省略可。自動検出されます)。

テキスト関数をさらに活用するためのヒント
41種類のテキスト関数は、単独で使うだけでなく、他の関数と組み合わせることで真価を発揮し、複雑なデータ処理も可能になります。
IF関数との組み合わせで条件分岐
例えば、IF関数とSEARCH関数を組み合わせることで、「A列の文字列に『重要』という文字が含まれていたら『◎』、含まれていなかったら『-』を表示する」といった条件付きの処理が可能になります。

Office 365の新関数で処理をシンプルに!
以前は複数の関数を組み合わせる必要があった複雑な処理も、Office 365の新関数を使えばシンプルに解決できます。
例えば、「フルネームから姓と名を抜き出す」処理は、以下の通りに劇的に簡略化できます。

このように、新しい関数を使うと、複雑だった処理もシンプルになり、関数のネスト(入れ子)を減らせるため、ミスも減らせます。
まとめ
この記事では、ExcelのOffice 365で使えるテキスト関数全41種類を網羅し、使い方を解説しました。
カテゴリ | 主な機能 | 該当関数名(全41種) |
抽出・分割・結合 | 文字列の切り出し、連結、分割 | LEFT,RIGHT,MID,TEXTSPLIT,CONCAT,TEXTJOIN,TEXTBEFORE,TEXTAFTER |
変換・整形 | 大文字・小文字、スペース、置換 | UPPER,LOWER,PROPER,TRIM,CLEAN,REPLACE,SUBSTITUTE,REPT |
文字コード・バイト | 文字数、全角・半角変換 | LEN,CODE,CHAR,UNICODE,UNICHAR,ASC,JIS |
表示形式・数値変換 | 数値の文字列化、書式設定 | TEXT,VALUE,NUMBERVALUE,FIXED,ALUETOTEXT,ARRAYTOTEXT,DOLLAR,YEN,BAHTTEXT |
検索・確認 | 文字列の検索、比較 | FIND,SEARCH,EXACT,T |
高度な機能 | 正規表現、言語検出・翻訳 | REGEXEXTRACT,REGEXREPLACE,REGEXTEST,DETECTLANGUAGE,TRANSLATE |
コメント