Excel

【Excel】エクセルで文字を追加(先頭や途中や末尾に一括:ユーザー定義:書式設定:関数:置換など)

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

 

【Excel】エクセルで文字を追加(先頭や途中や末尾に一括:ユーザー定義:書式設定:関数:置換など)

Excelでデータを扱っていると、既存の文字列に新しい文字を追加したい場面が頻繁に発生します。

商品名の先頭に分類記号を追加したい、顧客名の末尾に「様」を付けたい、電話番号の途中にハイフンを挿入したい、価格の後ろに「円」という単位を表示したいなど、文字の追加作業を手作業で行っていては時間がかかりすぎ、ミスも発生しやすくなります

数百、数千件のセルに対して一つずつ編集していくのは現実的ではなく、効率的な方法を知っておくことが重要です。

文字を追加する方法は目的や状況に応じて複数存在します。

関数を使った追加、ユーザー定義の書式設定による表示上の追加、置換機能を使った一括追加、フラッシュフィルによる自動追加など、それぞれにメリットとデメリットがあります。

本記事では、Excelで文字を追加する様々な方法を詳しく解説し、先頭・途中・末尾への追加や、元のデータを保持したまま表示だけ変える方法など、実践的なテクニックを紹介します。

効率的なデータ編集を実現したい方は、ぜひ最後までお読みください。

ポイントは

・関数(&演算子やCONCATENATE関数)で文字を結合できる

・ユーザー定義の書式設定なら元データを変えずに表示を変更できる

・置換機能やフラッシュフィルで一括追加が可能

です。

それでは詳しく見ていきましょう。

関数で文字を追加する基本テクニック

それではまず、関数を使って文字を追加する基本的な方法を確認していきます。

&演算子で文字を結合する方法

&演算子は、最もシンプルで直感的に文字を結合できる方法です。

構文は「=セル&”追加する文字”」または「=”追加する文字”&セル」という形式で、セルの内容と指定した文字列を結合します。

例えば、A1セルに「田中商店」という顧客名が入っている場合、B1セルに「=A1&”様”」と入力すると、「田中商店様」という結果が返されます。

これは元のA1セルの内容はそのままで、B1セルに新しい結果を作成する方法です。

先頭に文字を追加したい場合は「=”【重要】”&A1」とすれば、A1に「契約書送付のご案内」が入っていれば「【重要】契約書送付のご案内」という結果になります。

&演算子の動作イメージ

元のデータ

田中商店

A1セル

+

追加文字

“様”

追加する文字

結果

田中商店様

B1セル

途中に文字を挿入する場合は、LEFT関数やMID関数と組み合わせます。

例えば、A1セルに「0363845721」という電話番号が入っている場合、「=LEFT(A1,3)&”-“&MID(A1,4,4)&”-“&RIGHT(A1,4)」とすれば「03-6384-5721」という形式に変換できます。

これは左から3文字、次の4文字、最後の4文字を取り出して、それぞれの間にハイフンを挿入しています。

A列(元データ) B列(数式) 結果
田中商店 =A1&”様” 田中商店様
見積書 =”【確認依頼】”&A2 【確認依頼】見積書
128500 =A3&”円(税込)” 128500円(税込)
渋谷区神南 =”東京都”&A4 東京都渋谷区神南

複数のセルの内容を結合することもできます。

A1セルに「営業部」、B1セルに「第二課」、C1セルに「鈴木一郎」が入っている場合、D1セルに「=A1&”/”&B1&”/”&C1」と入力すれば「営業部/第二課/鈴木一郎」となり、各要素の間にスラッシュが入ります。

さらに「=A1&B1&” “&C1&”様”」とすれば「営業部第二課 鈴木一郎様」という結果になります。

数式を他のセルにコピーする場合は、B1セルに数式を入力した後、B1セルの右下の小さな四角(フィルハンドル)をダブルクリックするか、下方向にドラッグすることで、連続したセル範囲に一括でコピーできます。

この時、A1は自動的にA2、A3と変わっていくため、各行のデータに対して同じ処理が適用されます。

CONCATENATE関数とCONCAT関数の使い方

CONCATENATE関数は、複数の文字列を結合する専用の関数です。

構文は「=CONCATENATE(文字列1,文字列2,…)」という形式で、最大255個までの引数を指定できます。

例えば、A1セルに「東京都」、B1セルに「渋谷区」、C1セルに「神南一丁目」が入っている場合、D1セルに「=CONCATENATE(A1,B1,C1)」と入力すると「東京都渋谷区神南一丁目」という結果が返されます。

区切り文字を入れる場合は「=CONCATENATE(A1,” “,B1,” “,C1)」とすれば「東京都 渋谷区 神南一丁目」となります。

CONCATENATE関数の動作イメージ

A1

東京都
+

B1

渋谷区
+

C1

神南一丁目

結果

東京都渋谷区神南一丁目

Excel 2016以降では、CONCAT関数が導入されました。

構文は「=CONCAT(文字列1,文字列2,…)」で、CONCATENATEと同様に使えますが、より新しい関数として推奨されています。

さらにExcel 365やExcel 2019以降では、TEXTJOIN関数が使えます。

TEXTJOIN関数で区切り文字を指定して結合

TEXTJOIN関数は、複数の文字列を指定した区切り文字で結合できる強力な関数です。

構文は「=TEXTJOIN(区切り文字,空白セルを無視,範囲1,[範囲2],…)」という形式で、区切り文字を一度指定すれば、すべての要素の間に自動的に挿入されます。

例えば、A1セルに「営業部」、B1セルに「課長」、C1セルに「佐藤健一」が入っている場合、D1セルに「=TEXTJOIN(“_”,TRUE,A1:C1)」と入力すると「営業部_課長_佐藤健一」という結果が返されます。

第2引数のTRUEは空白セルを無視する設定で、途中に空白セルがあっても問題なく結合できます。

範囲 数式 結果
A1:C1に「営業部」「課長」「佐藤健一」 =TEXTJOIN(“_”,TRUE,A1:C1) 営業部_課長_佐藤健一
A2:D2に「令和」「6」「11」「17」 =TEXTJOIN(“年”,TRUE,A2:D2)&”日” 令和年6年11年17日
A3:C3に「商品A」(空白)「在庫有」 =TEXTJOIN(“-“,TRUE,A3:C3) 商品A-在庫有
A4:B4に「重要」「至急確認」 =TEXTJOIN(“】【”,TRUE,A4:B4) 重要】【至急確認

TEXTJOIN関数の大きなメリットは、範囲指定ができることです。

「=TEXTJOIN(“,”,TRUE,A1,B1,C1,D1,E1)」のように個別に指定する代わりに、「=TEXTJOIN(“,”,TRUE,A1:E1)」と範囲で指定できるため、数式がシンプルになります。

複数行のデータを一度に結合したい場合にも便利で、例えば「=TEXTJOIN(CHAR(10),TRUE,A1:A10)」とすれば、A1からA10までのセルを改行で結合できます。

CHAR(10)は改行コードを表し、セル内改行で複数行のデータを1つのセルにまとめることができます。

ただしセル内改行を表示するには、セルの書式設定で「文字の制御」の「折り返して全体を表示する」にチェックを入れる必要があります。

関数を使った文字追加の最大のメリットは、元のデータを変更せずに新しいデータを作成できることです。

元データが更新されれば、結果も自動的に更新されるため、動的なデータ管理に適しています。

ただし、数式が残るため、最終的に値として確定させたい場合は、結果のセルをコピーして「値として貼り付け」を実行する必要があります。

また、大量のデータに対して複雑な数式を使用すると、ファイルサイズが大きくなり、動作が重くなる可能性があるため、処理が完了したら値に変換することをおすすめします。

ユーザー定義の書式設定で表示上の文字を追加

続いては元のデータを変更せず、表示だけを変える方法を確認していきます。

セルの書式設定でユーザー定義を作成

ユーザー定義の書式設定を使うと、セルの実際の値を変更せずに、表示だけを変えることができます

対象のセルを選択して右クリックし「セルの書式設定」を選択、「表示形式」タブの「ユーザー定義」を選択します。

種類の欄に「@”追加する文字”」と入力すれば、セルの内容の後ろに指定した文字が表示されます。

例えば、A1セルに「85000」という数値が入っている場合、書式設定で「@”円(税込)”」と設定すると、表示は「85000円(税込)」となりますが、セルの実際の値は「85000」のままです。

数式で参照した場合も「85000」として扱われるため、計算に影響を与えません。

ユーザー定義書式の動作イメージ

実際の値

85000

セル内の数値

表示形式設定

@”円(税込)”

ユーザー定義

表示結果

85000円(税込)

画面上の見た目

先頭に文字を追加する場合は「”追加する文字”@」という形式になります。

例えば「”商品番号:”@」と設定すれば、「A-5280」というデータが「商品番号:A-5280」と表示されます。

前後両方に追加する場合は「”【”@”】”」のように設定すれば、「重要案件」が「【重要案件】」と表示されます。

元データ ユーザー定義形式 表示結果 実際の値
128500 @”円(税込)” 128500円(税込) 128500
田中商店 @”御中” 田中商店御中 田中商店
重要案件 “【”@”】” 【重要案件】 重要案件
A-5280 “商品番号:”@ 商品番号:A-5280 A-5280

数値に対して書式設定を行う場合は、@の代わりに「0」や「#」を使います。

例えば「#,##0″個”」と設定すれば、「15000」が「15,000個」と表示され、桁区切りカンマと単位の両方が追加されます。

「”¥”#,##0」とすれば、「85000」が「¥85,000」と表示され、通貨記号が先頭に追加されます。

複数の条件で表示を切り替える高度な設定

ユーザー定義の書式設定では、正の数、負の数、ゼロ、文字列でそれぞれ異なる表示形式を設定できます

形式は「正の数の書式;負の数の書式;ゼロの書式;文字列の書式」という順序でセミコロンで区切って指定します。

例えば「#,##0″個(在庫あり)”;-#,##0″個(不足)”;0″在庫なし”」と設定すれば、正の数なら「1,500個(在庫あり)」、負の数なら「-300個(不足)」、ゼロなら「在庫なし」と表示されます。

実務では、在庫管理や売上データで正負を視覚的に区別したい場合に便利です。

元データ(数値) ユーザー定義形式 表示結果
1500 #,##0″個(在庫あり)”;-#,##0″個(不足)”;0″在庫なし” 1,500個(在庫あり)
-300 #,##0″個(在庫あり)”;-#,##0″個(不足)”;0″在庫なし” -300個(不足)
0 #,##0″個(在庫あり)”;-#,##0″個(不足)”;0″在庫なし” 在庫なし
250000 [青]#,##0″円(黒字)”;[赤]-#,##0″円(赤字)” 250,000円(黒字)

色の指定も可能で、「[青]#,##0″円”;[赤]-#,##0″円”」とすれば、正の数は青色、負の数は赤色で表示されます。

使用できる色は、黒、白、赤、緑、青、黄、紫、水色の8色です。

複雑な条件を設定したい場合は、「[条件]書式」という形式も使えます。

例えば「[>=10000]#,##0″円(高額)”;#,##0″円”」とすれば、10000以上なら「高額」という文字が追加され、それ未満なら通常の表示になります。

ユーザー定義の書式設定を使うメリットは、セルの実際の値を変更しないため、数式での計算や並べ替え、フィルターなどが正常に機能することです。

特に数値データに単位を追加する場合、関数で文字を結合すると数値として認識されなくなりますが、書式設定なら数値のまま扱えます。

ただし、表示形式はあくまで「見た目」の変更なので、データをコピーして他のアプリケーションに貼り付けた場合、書式設定が失われることがあります。

また、セルの書式設定は印刷にも反映されますが、CSVファイルで出力すると書式情報は失われ、実際の値のみがエクスポートされます。

置換機能を使って一括で文字を追加

続いては既存のデータを直接編集して文字を追加する方法を確認していきます。

作業列と数式を組み合わせた確実な方法

置換機能で文字を追加する最も確実な方法は、一時的に作業列を使う方法です。

まず隣の列に数式で文字を追加し、その結果を元の列に値として貼り付けます。

具体的な手順を確認していきます。

A列に元データ「東京本社」「大阪支社」「名古屋支社」があるとします。

B列の先頭セル(B1)に「=A1&”-2024年度”」という数式を入力します。

この数式は、A1セルの内容に「-2024年度」という文字を追加するものです。

B1セルに数式を入力したら、B1セルの右下にある小さな四角(フィルハンドル)をダブルクリックするか、下方向にドラッグしてオートフィルでコピーします。

するとB列に「東京本社-2024年度」「大阪支社-2024年度」「名古屋支社-2024年度」という結果が得られます。

手順 A列(元データ) B列(作業列) 操作
①初期状態 東京本社 (空白)
②数式入力 東京本社 =A1&”-2024年度” B1に数式を入力
③オートフィル 東京本社 東京本社-2024年度 B1をオートフィルで下にコピー
④結果確認 東京本社
大阪支社
名古屋支社
東京本社-2024年度
大阪支社-2024年度
名古屋支社-2024年度
すべての行で結果を確認
⑤値貼り付け 東京本社-2024年度
大阪支社-2024年度
名古屋支社-2024年度
(削除) B列をコピーしA列に値貼り付け後、B列削除

次にB列全体を選択してコピー(Ctrl+C)し、A列を選択して右クリック、「形式を選択して貼り付け」から「値」を選択して貼り付けます。

これでA列のデータが更新され、数式ではなく値として確定します。

最後にB列は不要になったので削除すれば完了です。

この方法のメリットは、数式の柔軟性を活用しながら、最終的には値として確定できることです。

複雑な条件での文字追加も可能で、例えばIF関数と組み合わせれば「=IF(LEN(A1)>5,A1&”(長文)”,A1&”(短文)”)」のように、セルの文字数によって追加する文字を変えることもできます。

複数の文字列を一度に置換する応用技

複数の異なる文字列に対して異なる文字を追加したい場合は、IF関数やSWITCH関数を使った条件分岐が便利です。

例えば、商品名の先頭2文字が「冷蔵」なら「【要冷蔵】」、「冷凍」なら「【要冷凍】」、「常温」なら「【常温保管】」という文字を先頭に追加したい場合、IF関数とLEFT関数を組み合わせます。

数式は「=IF(LEFT(A1,2)=”冷蔵”,”【要冷蔵】”&A1,IF(LEFT(A1,2)=”冷凍”,”【要冷凍】”&A1,IF(LEFT(A1,2)=”常温”,”【常温保管】”&A1,A1)))」となります。

この数式は、A1の左から2文字を取得し、それが「冷蔵」なら「【要冷蔵】」を先頭に追加、「冷凍」なら「【要冷凍】」を追加、「常温」なら「【常温保管】」を追加し、どれにも該当しなければそのまま表示します。

元データ(A列) 結果
冷蔵牛乳 【要冷蔵】冷蔵牛乳
冷凍食品セット 【要冷凍】冷凍食品セット
常温保存可能スープ 【常温保管】常温保存可能スープ
お菓子詰め合わせ お菓子詰め合わせ

より高度な方法として、Excel 365以降ではSWITCH関数が使えます。

「=SWITCH(LEFT(A1,2),”冷蔵”,”【要冷蔵】”&A1,”冷凍”,”【要冷凍】”&A1,”常温”,”【常温保管】”&A1,A1)」とすれば、より読みやすい数式になります。

SWITCH関数は最初の引数(この場合はLEFT(A1,2))の値に応じて、対応する値を返す関数で、複数の条件分岐をシンプルに記述できます。

末尾に追加する場合も同様の考え方で、「=A1&IF(RIGHT(A1,2)=”完了”,”✓”,IF(RIGHT(A1,2)=”保留”,”△”,IF(RIGHT(A1,2)=”未着手”,”×”,””)))」のように、末尾の文字を判定して追加する文字を変えることができます。

作業列を使う方法の注意点として、元データと作業列が混在している状態で誤って保存してしまうと、どちらが正しいデータか分からなくなることがあります。

作業が完了したら速やかに作業列を削除し、ファイルを整理することが重要です。

また、大量のデータを処理する場合は、一部のデータで試してから全体に適用することをおすすめします。

数式が正しく機能しているか、想定通りの結果になっているかを確認してから、全データに対して実行することで、予期しないエラーを防げます。

フラッシュフィルで自動的に文字を追加

続いてはExcelのAI機能を活用した自動追加方法を確認していきます。

フラッシュフィルの基本的な使い方

フラッシュフィルは、入力パターンをExcelが自動認識して、残りのセルを自動入力する機能です。

Excel 2013以降で利用でき、数式を書かなくても複雑なデータ加工ができます。

例えば、A列に「東京本社」「大阪支社」「名古屋支社」という拠点名があり、それぞれの末尾に「-2024年度」を追加したい場合を考えます。

まずB1セルに手動で「東京本社-2024年度」と入力し、B2セルに「大阪支社-2024年度」と入力します。

この時点でExcelがパターンを認識し、B3セル以降を選択して「データ」タブの「フラッシュフィル」をクリック(またはCtrl+E)すると、残りのセルが自動的に「名古屋支社-2024年度」などと入力されます。

フラッシュフィルの動作イメージ

A列に元データ
B1に「東京本社-2024年度」
B2に「大阪支社-2024年度」
と入力

B3以降を選択し
Ctrl+Eまたは
「フラッシュフィル」
をクリック

残りのセルが
自動的に
「名古屋支社-2024年度」
と入力される

フラッシュフィルは単純な文字追加だけでなく、より複雑なパターンも認識できます。

例えば、A列に「田中 一郎」「鈴木 花子」という氏名があり、これを「田中一郎様」「鈴木花子様」のように全角スペースを削除して「様」を追加したい場合も、2件ほど手動で入力すればパターンを認識して自動入力できます。

また、先頭に文字を追加する場合も同様で、B1に「【重要】契約書」、B2に「【重要】見積書」と入力すれば、B3以降も「【重要】」が自動的に追加されます。

A列(元データ) B列(手動入力) B列(フラッシュフィル後)
東京本社 東京本社-2024年度 東京本社-2024年度
大阪支社 大阪支社-2024年度 大阪支社-2024年度
名古屋支社 (空白) 名古屋支社-2024年度(自動入力)
福岡支社 (空白) 福岡支社-2024年度(自動入力)

フラッシュフィルが認識しやすいパターンの作り方

フラッシュフィルを効果的に使うには、Excelが認識しやすいパターンを作ることが重要です。

基本的には2~3件の例を入力すれば十分ですが、パターンが複雑な場合はもう少し多めに入力する必要があります。

例えば、商品名の先頭に分類コードを追加する場合で、「食品-りんご」「飲料-緑茶」「日用品-ティッシュ」のように、追加する文字が元のデータによって変わる場合は、各パターンを1つずつ入力する必要があります。

単純に末尾や先頭に同じ文字を追加するだけなら、1~2件の例で十分認識されます。

フラッシュフィルが正しく動作しない場合は、手動入力の例をもう1~2件追加してみてください。

また、元データに不規則なスペースや改行が含まれていると、パターン認識がうまくいかないことがあります。

その場合は、TRIM関数で余分なスペースを削除するなど、事前にデータをクリーニングすることをおすすめします。

フラッシュフィルの大きなメリットは、数式を書かなくても複雑なデータ加工ができることです。

特にExcel初心者にとって、関数の構文を覚える必要がないため、直感的に使えます。

ただし、フラッシュフィルで入力されたデータは「値」として確定されるため、元データが変更されても自動的に更新されません。

動的なデータ管理が必要な場合は、数式を使った方法の方が適しています。

また、フラッシュフィルはパターン認識に基づいているため、時々意図しない結果になることがあります。

実行後は必ず結果を確認し、正しく変換されているかチェックすることが重要です。

まとめ エクセルで文字を追加する実践ガイド

エクセルで文字を追加する方法をまとめると

・関数による追加:&演算子「=A1&”様”」やCONCATENATE関数、TEXTJOIN関数「=TEXTJOIN(“-“,TRUE,A1:C1)」で文字を結合、元データを保持したまま新しいデータを作成でき、動的な管理に適している

・ユーザー定義の書式設定:「@”円(税込)”」のように設定すれば表示だけを変更でき、実際の値は変わらないため計算やフィルターが正常に機能する、数値データに単位を追加する場合に特に便利

・作業列と値貼り付け:隣の列に数式「=A1&”-2024年度”」を入力してオートフィルでコピーし、結果を値として元の列に貼り付ける方法で、複雑な条件分岐にも対応可能

・フラッシュフィル:2~3件の例を手動入力すれば、Excelがパターンを自動認識して残りを入力、数式不要で直感的に使えるが結果は値として確定される

これらの方法にはそれぞれ適した用途があり、状況に応じた使い分けが重要です。

動的なデータ管理が必要なら関数、表示だけを変えたいならユーザー定義の書式設定、一度だけ処理して確定させたいなら作業列または置換、数式が苦手ならフラッシュフィルが適しています。

ただし、文字を追加する際は元データの品質に注意が必要です。

全角と半角の混在、前後のスペース、不要な改行などがあると、正しく処理できないことがあります

特に他のシステムからインポートしたデータや、手入力されたデータには不規則な要素が含まれていることが多いため、TRIM関数やSUBSTITUTE関数でクリーニングしてから処理することをおすすめします。

Excelの文字追加テクニックを適切に活用して、効率的なデータ編集と管理を実現していきましょう!