文字列操作
TEXT()関数を使ってみよう
①、日付をもとに様々の年、月、日、曜日を表示する
TEXT(値, 表示形式)
数値の表示形式を「"」で囲んで指定します。
| ◢ | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | 日付 | 表示 | B列に入力する関数 | 書式記号 | 表示内容 |
| 2 | 2024/10/8 | 2024 | =TEXT(A2,"yyyy") | yyyy | 西暦を4桁で表示 |
| 3 | 2024/10/8 | 24 | =TEXT(A3,"yy") | yy | 西暦を下2桁で表示 |
| 4 | 2024/10/8 | 6 | =TEXT(A4,"e") | e | 和暦の年を表示 |
| 5 | 2024/10/8 | 令和 | =TEXT(A5,"ggg") | ggg | 和暦の元号を表示 |
| 6 | 2024/10/8 | 10 | =TEXT(A6,"m") | m | 月を数値で表示 |
| 7 | 2024/10/8 | October | =TEXT(A7,"mmmm") | mmmm | 月を英語で表示 |
| 8 | 2024/10/8 | Oct | =TEXT(A8,"mmm") | mmm | 月を英語の短縮形で表示 |
| 9 | 2024/10/8 | 08 | =TEXT(A9,"dd") | dd | 日付を2桁の数値で表示 |
| 10 | 2024/10/8 | 8 | =TEXT(A10,"d") | d | 日付を数値で表示 |
| 11 | 2024/10/8 | 火曜日 | =TEXT(A11,"aaaa") | aaaa | 曜日を表示 |
| 12 | 2024/10/8 | 火 | =TEXT(A12,"aaa") | aaa | 曜日を短縮形で表示 |
| 13 | 2024/10/8 | Tuesday | =TEXT(A13,"dddd") | dddd | 曜日を英語で表示 |
| 14 | 2024/10/8 | Tue | =TEXT(A14,"ddd") | ddd | 曜日を英語の短縮形で表示 |
・西暦を4桁で表示する yyyy =TEXT(A2,"yyyy")
・西暦を下2桁で表示する yy =TEXT(A3,"yy")
・和暦の年を表示する e =TEXT(A4,"e")
・和暦の元号を表示する ggg =TEXT(A5,"ggg")
・月を数値で表示する m =TEXT(A6,"m")
・月を英語で表示する mmmm =TEXT(A7,"mmmm")
・月を英語の短縮形で表示する mmm =TEXT(A8,"mmm")
・日付を2桁の数値で表示する dd =TEXT(A9,"dd")
・日付を数値で表示する d =TEXT(A10,"d")
・曜日を表示する aaaa =TEXT(A11,"aaaa")
・曜日を短縮形で表示する aaa =TEXT(A12,"aaa")
・曜日を英語で表示する dddd =TEXT(A13,"dddd")
・曜日を英語の短縮形で表示する ddd =TEXT(A14,"ddd")
②、時刻/時間をもとに様々な表示する
| ◢ | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | 時間/時刻 | 表示 | B列に入力する関数 | 書式記号 | 表示内容 |
| 2 | 8:30:05 | 08 | =TEXT(A2,"hh") | hh | 時刻の「時」の部分を表わす。 |
| 3 | 8:30:05 | 01 | =TEXT(A3,"mm") | mm | 時刻の「分」の部分を表わす。 |
| 4 | 8:30:05 | 05 | =TEXT(A4,"ss") | ss | 時刻の「秒」の部分を表わす。 |
| 5 | 8:30:05 | 08:30AM | =TEXT(A5,"hh:mmAM/PM") | hh:mmAM/PM | 午前0時〜正午前までは「AM」、正午〜午前0時前までは「PM」を付ける。 |
| 6 | 8:30:05 | 510:05 | =TEXT(A6,"[mm]:ss") | [mm]:ss | 経過時間を表わす。 |
・時刻の「時」の部分を表わす。 hh =TEXT(A2,"hh")
・時刻の「分」の部分を表わす。 mm =TEXT(A3,"mm")
・てん時刻の「秒」の部分を表わす。 ss =TEXT(A4,"ss")
・午前0時〜正午前までは「AM」、正午〜午前0時前までは「PM」を付ける。 hh:mmAM/PM =TEXT(A5,"hh:mmAM/PM")
・経過時間を表わす。 mm:ss =TEXT(A6,"[mm]:ss")
③、数値をもとに様々な表示する
| ◢ | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | 数字 | 表示 | B列に入力する関数 | 書式記号 | 表示内容 |
| 2 | 123.45 | 123.56 | =TEXT(A2,"####.##") | ####.## | 1桁の数字を表示する。数値の桁数が指定した桁数より少ない場合は、余分な0は表示しない |
| 3 | 123.56 | 0123.56 | =TEXT(A3,"0000.00") | mm | 1桁の数字を表示する数値の桁数が指定した桁数より少ない場合は、先頭に0を表示する。 |
| 4 | 12.34 | 012.34 | =TEXT(A4,"000.00?") | ss | 小数点以下の桁数が「?」の位置に満たない場合は、半角の空白文字を入れる。 |
| 5 | 1234 | 1234.000 | =TEXT(A5,"###.000") | ###.000 | 小数点を表す。 |
| 6 | 1,234 | 1,234 | =TEXT(A6,"###,###") | [mm]:ss | 桁区切りの記号を付ける。 |
| 7 | 12345 | 12.35千円 | =TEXT(A7,"0.00,千円") | 0.00,千円 | 数値のあとに1つ付けると千単位で表示する。 |
| 8 | 12345670 | 12.35百万円 | =TEXT(A8,"0.00,,百万円") | 0.00,,百万円 | 数値のあとに2つ付けると百万単位で表示する。 |
| 9 | 0.5 | 50% | =TEXT(A9,"0%") | 0% | パーセント表示にする。 |
| 10 | 12345 | \12345 | =TEXT(A10,"¥#####") | ¥##### | ¥記号を付ける。 |
| 11 | 12345 | $12345 | =TEXT(A11,"$#####") | $##### | $記号を付ける。 |
| 12 | 0.5 | 1/2 | =TEXT(A12,"##/##") | ##/## | 分数を表す。 |
・1桁の数字を表示する。数値の桁数が指定した桁数より少ない場合は、余分な0は表示しない。
=TEXT(A2,"####.##")
・1桁の数字を表示する数値の桁数が指定した桁数より少ない場合は、先頭に0を表示する。
=TEXT(A3,"0000.00")
・小数点以下の桁数が「?」の位置に満たない場合は、半角の空白文字を入れる。
=TEXT(A4,"000.00?")
・小数点を表す。
=TEXT(A5,"###.000")
・桁区切りの記号を付ける。
=TEXT(A6,"###,###")
・数値のあとに1つ付けると千単位で表示する。
=TEXT(A7,"0.00,千円")
・数値のあとに2つ付けると百万単位で表示する。
=TEXT(A8,"0.00,,百万円")
・パーセント表示にする。
=TEXT(A9,"0%")
・¥記号を付ける。
=TEXT(A10,"¥#####")
・ドル記号を付ける。
=TEXT(A11,"$#####")
・分数を表す。
=TEXT(A12,"##/##")
MID関数/LEFT関数/RIGHT関数/FIND関数を使ってみよう
①、MID関数は、指定した位置から、指定した文字数だけ 文字列を取り出す関数です。
| ◢ | A | B | C | D |
|---|---|---|---|---|
| 1 | 文字 | 表示 | B列に入力する関数 | 表示内容 |
| 2 | 東京都多摩市連光寺 | 多摩市 | =MID(A2, 4, 3) | 文字列から4文字目から3文字を抽出 |
| 3 | 206-0021 | 0021 | =MID(A3, 5, 4) | 郵便番号の下4桁を取り出す |
| 4 | 近藤 太郎 | 太郎 | =MID(A4, FIND(" ", A4) + 1, LEN(A4)) | 「姓 名」の形式から「名」だけを取り出す |
②、LEFT関数は、文字列の先頭(左側)から指定した文字数分を取り出す関数です。
| ◢ | A | B | C | D |
|---|---|---|---|---|
| 1 | 文字 | 表示 | B列に入力する関数 | 表示内容 |
| 2 | 東京都多摩市連光寺 | 東京都多摩市 | =LEFT(A2, 6) | 文字列の左側から指定した文字数を取り出す |
| 3 | 206-0021 | 206 | =LEFT(A3, 3) | 郵便番号の一部抽出 |
| 4 | 近藤 太郎 | 近藤 | =LEFT(A4, FIND(" ", A4)-1) | 「姓 名」の形式で半角スペースが区切りのとき |
③、RIGHT関数は、文字列の右側(末尾)から、指定した文字数分を抜き出す関数です。
| ◢ | A | B | C | D |
|---|---|---|---|---|
| 1 | 文字 | 表示 | B列に入力する関数 | 表示内容 |
| 2 | 近藤 太郎 | 太郎 | =RIGHT(A2,2) | 右側から指定した文字数を取り出す |
| 3 | 300-1300 | 1300 | =RIGHT(A3, 4) | 郵便番号の下4桁を抽出 |
④、FIND関数は、ある文字列の中で、検索したい文字や単語が最初に現れる位置(文字数)を返す関数です。
| ◢ | A | B | C | D |
|---|---|---|---|---|
| 1 | 文字 | 表示 | B列に入力する関数 | 表示内容 |
| 2 | 東京都多摩市連光寺 | 3 | =FIND("都", A2) | 3文字目 |
| 3 | 茨城県稲敷郡河内町 | 7 | =FIND("河", A3) | 7文字目 |
| 4 | 東京都府中市八幡町 | #VALUE! | =FIND("河", A4) | 見つからず エラー(#VALUE!) |
| 5 | 東京都府中市八幡町 | 7 | =IFERROR(FIND("八", A5),"エラー") | 7文字目 |
| 6 | ABCDEF | 4 | =FIND("D", A6) | FIND関数は大文字・小文字を区別する |
| 7 | ABCDEF | 4 | =SEARCH("d", A7) | SEARCH関数は大文字・小文字を区別なし |
| 8 | ABCDEF | 4 | =SEARCH("d", A8) | SEARCH関数は大文字・小文字を区別なし |
| 9 | Tnmt325@yahoo.co.jp | Tnmt325 | =LEFT(A9,FIND("@",A9)-1) | 「@」の前の文字列を取得 |
⑤、ISNUMBER関数と組み合わせて、文字列の一部が含まれているかチェック
| ◢ | A | B | C | D |
|---|---|---|---|---|
| 1 | 文字 | 表示 | B列に入力する関数 | 表示内容 |
| 2 | 入力された文字列から | 含む | =IF(ISNUMBER(FIND("文字列", A2)), "含む", "含まない") | 該当の文字有り |
| 3 | 入力された文字列から | 含まない | =IF(ISNUMBER(FIND("123", A3)), "数字列", "含まない") | 該当の文字無し |
・MID関数
=MID(文字列, 開始位置, 文字数)
文字列:対象の文字列またはセル
開始位置:何文字目から取り出すか(1が先頭)
文字数:取り出したい文字数
・LEFT関数
=LEFT(文字列, [文字数])
文字列:対象となる文字列またはセル
文字数(省略可):取り出したい文字数(省略すると1文字)
・RIGHT関数
=RIGHT(文字列, 文字数)
文字列:対象となる文字列またはセル
文字数:末尾から取り出す文字数(省略不可)
・FIND関数
=FIND(検索文字列, 対象文字列, [開始位置])
対象文字列:検索対象のセルまたは文字列
開始位置(省略可):検索を開始する位置(1文字目=1)
・SEARCH関数
=SEARCH(検索文字列, 対象文字列, [開始位置])
・ISNUMBER関数
=ISNUMBER(値)
ISNUMBER関数は、指定したセルや値が「数値」であるかどうかを調べ、「TRUE」または「FALSE」を返す関数です。
=IF(ISNUMBER(A1), "数値です", "数値ではありません")
SEARCH や FIND 関数と組み合わせて、特定の文字列がセルに含まれているかどうかを判定できます。
LEFT関数は、セルに入力された文字列から、左から任意の文字数を取り出すことができます。
LEFT関数は左からの文字数を指定し、RIGHT関数は右からの文字数を指定します。MID関数は途中の文字を取り出します。
①、LEFT関数を使って文字を抽出する
メーカー別商品名を「メーカー」と「商品名」に分けてみます。
まず最初に、セル「B2」に
=LEFT(A2,3)
と入力します。
②、セル「B2」を選択セル「B11」までフィルコピーします。
メーカーの名前が3文字より多い場合、4文字以降か表示されていません。
LEFT関数とFIND関数を使って全て表示する
①、「LEFT関数」と「FIND関数」を使って全て表示する
メーカー名と商品名の間には「空白セル」入っている事に着目、「FIND関数」を使ってメーカー名の文字数が違っていても全て表示することができます。
新たに、セル「B2」に
=LEFT(A2,FIND(" ",A2))
と入力します。
②、セル「B2」を選択セル「B11」までフィルコピーします。
全てのメーカー名が正しく表示されました。
RIGHT関数は、セルに入力された文字列から、右から任意の文字数を取り出すことができます。
LEFT関数は左からの文字数を指定し、RIGHT関数は右からの文字数を指定します。MID関数は途中の文字を取り出します。
①、RIGHT関数を使って文字を抽出する
「メーカー/商品名」の右5文字を抽出してみます。
セル「C2」に
=RIGHT(A2,5)
と入力しします。
②、セル「C2」を選択セル「C11」までフィルコピーします。
「メーカー/商品名」の右5文字が抽出されました。
③、次に「RIGHT関数」を使ってメーカー名以降を抽出してみましょう。
=LEN関数は、指定した文字列の文字数を数える関数で、A2の文字数を数え、FIND関数で空白セルの位置を数えた分を引きます。そして、RIGHT関数で文字列の末尾から、その数の文字列を表示します。
新たに、セル「C2」に
=RIGHT(A2,LEN(A2)-FIND(" ",A2))
と入力します。
④、セル「C2」を選択セル「C11」までフィルコピーします。
全てのメーカー名が正しく表示されました。
メーカー名の右「空白セル」から後ろの文字列を表示することが出来ました。
RIGHT関数/LEN関数/FIND関数で、特定の文字より後を抽出する方法1
RIGHT関数/LEN関数/FIND関数を使って「都」より後の文字列を抽出していきます。
①、RIGHT関数を使って文字を抽出する
「東京都」より後の文字列を抽出していきます。
セル「B2」に
=RIGHT(A2,LEN(A2)-FIND("都",A2))
と入力しします。
②、セル「B2」を選択セル「B12」までフィルコピーします。
「東京都」以降の市町村が抽出されました。
MID関数/FIND関数/LEN関数で、特定の文字より後を抽出する方法2
①、MID関数/FIND関数/LEN関数を「都」以降を抽出してみましょう。
=MID関数/FIND関数/LEN関数を使用することでも、同様の結果を得ることができます。
新たに、セル「C2」に
=MID(A2,FIND("都",A2)+1,LEN(A2))
と入力します。
②、セル「C2」を選択セル「C12」までフィルコピーします。
全てのメーカー名が正しく表示されました。
「東京都」以降の市町村が抽出されました。