Excelで作業をしていると、既存のデータに文字を追加したい場面は頻繁に訪れます。
商品コードの先頭に「No.」を付けたい、電話番号の末尾に「(代表)」を追加したい、氏名の間に「様」を挿入したいなど、大量のセルに対して同じ文字を追加する作業を手作業で行うと、膨大な時間がかかってしまいます。
一つずつセルを編集していては効率が悪く、入力ミスのリスクも高まります。データ件数が数百、数千となれば、手作業での対応は現実的ではありません。
Excelには文字を追加する方法が複数用意されています。
関数を使った追加、ユーザー定義の表示形式による追加、置換機能を使った追加など、それぞれに特徴があり、状況に応じて最適な方法が異なります。
本記事では、セルの先頭・途中・末尾に文字を追加する様々な方法を詳しく解説し、一括処理のテクニックや使い分けのポイントを紹介します。
データ編集作業を効率化したい方は、ぜひ最後までお読みください。
ポイントは
・関数を使えば先頭・途中・末尾どこにでも文字追加可能
・ユーザー定義書式なら元データを変えずに表示だけ変更できる
・置換機能やフラッシュフィルで直接データを書き換えられる
です。
それでは詳しく見ていきましょう。
関数で文字を先頭・末尾に追加する基本
それではまず、最も確実で応用範囲の広い関数を使った文字追加の方法を確認していきます。
CONCATENATE関数と&演算子の基本
文字列を結合して新しい文字列を作成するには、CONCATENATE関数または&演算子を使用します。
&演算子は「=A1&”追加文字”」というシンプルな形式で、初心者でも直感的に理解しやすい方法です。
例えば、A1セルに「山田太郎」という名前が入っている場合、B1セルに「=A1&”様”」と入力すれば「山田太郎様」となります。
先頭に文字を追加する場合は、追加したい文字を先に記述します。
「=”No.”&A1」とすれば、A1セルの内容の前に「No.」が追加されます。
A1に「12345」という数値が入っていれば、「No.12345」という文字列が生成されます。
&演算子による文字追加イメージ
先頭に追加
→ No.12345
末尾に追加
→ 山田太郎様
前後に追加
→ 【重要】
複数のセルを結合する場合も&演算子を繰り返し使用します。
A1セルに「営業部」、B1セルに「第二課」、C1セルに「鈴木一郎」が入っている場合、D1セルに「=A1&”/”&B1&”/”&C1」と入力すれば「営業部/第二課/鈴木一郎」となり、各要素の間にスラッシュが入ります。
さらに「=A1&B1&” “&C1&”様”」とすれば「営業部第二課 鈴木一郎様」という結果になります。
| A列 | B列 | C列 | D列(数式) | 結果 |
|---|---|---|---|---|
| 営業部 | 第二課 | 鈴木一郎 | =A1&”/”&B1&”/”&C1 | 営業部/第二課/鈴木一郎 |
| 営業部 | 第二課 | 鈴木一郎 | =A1&B1&” “&C1&”様” | 営業部第二課 鈴木一郎様 |
| 東京都 | 渋谷区 | 1-2-3 | =A1&B1&C1 | 東京都渋谷区1-2-3 |
| 商品 | A | 001 | =A1&”-“&B1&”-“&C1 | 商品-A-001 |
CONCATENATE関数も同様の結果が得られますが、記述が長くなります。
「=CONCATENATE(“No.”,A1)」という形式になり、複数の文字列を結合する場合は引数をカンマで区切って指定します。
「=CONCATENATE(A1,”/”,B1,”/”,C1)」という形式ですが、現在では&演算子の方が簡潔で使いやすいため、こちらが推奨されます。
| 追加位置 | &演算子 | CONCATENATE関数 | 結果例 |
|---|---|---|---|
| 先頭 | =”No.”&A1 | =CONCATENATE(“No.”,A1) | No.12345 |
| 末尾 | =A1&”円” | =CONCATENATE(A1,”円”) | 1000円 |
| 前後 | =”(“&A1&”)” | =CONCATENATE(“(“,A1,”)”) | (東京) |
| 複数結合 | =A1&” “&B1&” “&C1 | =CONCATENATE(A1,” “,B1,” “,C1) | 山田 太郎 様 |
TEXTJOIN関数で複数セルに一括追加
複数のセルに対して同じ文字を一括で追加したい場合、TEXTJOIN関数を使うと効率的です。
TEXTJOIN関数は「=TEXTJOIN(区切り文字,空白セルを無視,範囲1,範囲2,…)」という構文で、複数の文字列を指定した区切り文字で結合できます。
例えば、A1からC1までの各セルの内容をスラッシュで区切って結合したい場合、「=TEXTJOIN(“/”,TRUE,A1:C1)」と入力すれば、「営業部/第二課/鈴木一郎」という結果が得られます。
TRUEを指定すると空白セルは無視されるため、一部のセルが空白でも問題なく結合されます。
数式を下方向にコピーする手順
隣の列に数式入力
(例: =”No.”&A1)
セル右下の
フィルハンドルを
ダブルクリック
自動的に下まで
数式がコピーされる
途中に文字を挿入する方法
文字列の途中に文字を挿入する場合は、LEFT関数やMID関数と&演算子を組み合わせます。
例えば、「山田太郎」という名前の姓と名の間にスペースを入れたい場合、どこで区切るかを指定する必要があります。
A1セルに「山田太郎」が入っていて、2文字目と3文字目の間にスペースを入れる場合、B1セルに「=LEFT(A1,2)&” “&MID(A1,3,10)」という数式を入力します。
LEFT関数で左から2文字(山田)を取得し、スペースを追加し、MID関数で3文字目以降(太郎)を取得して結合します。
| 使用関数 | 役割 | 構文例 | 結果例 |
|---|---|---|---|
| LEFT | 左から指定文字数を取得 | =LEFT(A1,2) | 山田 |
| MID | 途中から指定文字数を取得 | =MID(A1,3,10) | 太郎 |
| RIGHT | 右から指定文字数を取得 | =RIGHT(A1,2) | 太郎 |
| 組み合わせ | 途中に文字を挿入 | =LEFT(A1,2)&” “&MID(A1,3,10) | 山田 太郎 |
特定の文字の前後に挿入したい場合は、FIND関数やSEARCH関数で挿入位置を特定できます。
例えば、メールアドレスの@マークの前に文字を追加したい場合、「=LEFT(A1,FIND(“@”,A1)-1)&”.test”&MID(A1,FIND(“@”,A1),100)」という数式で、@の前に「.test」を挿入できます。
A1に「user@example.com」が入っていれば、結果は「user.test@example.com」になります。
関数を使った文字追加は、元のデータを残したまま新しい列に結果を表示できるメリットがあります。
元データに誤りがあった場合でも、数式を修正すれば自動的に反映されるため、データの管理がしやすくなります。
ただし、数式として残るため、数式が不要になったら「コピー→値として貼り付け」を行い、数式を値に変換することをおすすめします。
元のセルを削除すると参照エラーになってしまうためです。
また、大量のデータで複雑な数式を使用すると、ファイルサイズが大きくなり、動作が遅くなることもあります。
ユーザー定義の表示形式で見た目だけ変更
続いては元のデータを変更せずに、表示だけを変える方法を確認していきます。
ユーザー定義書式の基本構文
ユーザー定義の表示形式を使うと、セルの実際の値を変えずに、表示される文字列だけを変更できます。
これは計算に使用する値は元のまま保持しながら、見た目だけを整えたい場合に非常に便利です。
ユーザー定義書式を設定するには、セルを右クリックして「セルの書式設定」を開き、「表示形式」タブで「ユーザー定義」を選択します。
「種類」の欄に書式コードを入力することで、表示のルールを定義します。
ユーザー定義書式の設定手順
対象セルを選択
→ 右クリック
「セルの書式設定」
→「表示形式」タブ
「ユーザー定義」
→ 書式コード入力
数値の前後に文字を追加する場合、「”追加文字”0」または「0″追加文字”」という形式で指定します。
例えば、1000という数値の前に「¥」を付けたい場合は「”¥”#,##0」、後ろに「円」を付けたい場合は「#,##0″円”」と入力します。
「#,##0」の部分は、桁区切りのカンマ付きで数値を表示する書式です。
| 書式コード | 実際の値 | 表示結果 |
|---|---|---|
| “No.”0 | 12345 | No.12345 |
| 0″円” | 1000 | 1000円 |
| “¥”#,##0 | 1000 | ¥1,000 |
| #,##0″円” | 50000 | 50,000円 |
| “商品コード: “0000 | 123 | 商品コード: 0123 |
文字列にも適用できる@記号
数値だけでなく文字列にも表示形式を適用したい場合は、@記号を使用します。
@記号はセルに入力されている文字列を表すプレースホルダーです。
例えば、名前の後ろに「様」を付けたい場合、ユーザー定義で「@”様”」と入力すれば、セルに「山田太郎」と入力されていても表示は「山田太郎様」になります。
先頭に追加する場合は「”御中 “@」のように記述します。
括弧で囲みたい場合は「”(“@”)”」とすれば、入力した文字列が括弧で囲まれて表示されます。
@記号を使った文字列への追加
先頭に追加
→ No.商品A
末尾に追加
→ 山田太郎様
前後に追加
→ 《重要》
| 書式コード | 実際の値 | 表示結果 |
|---|---|---|
| @”様” | 山田太郎 | 山田太郎様 |
| “No.”@ | 商品A | No.商品A |
| “[“@”]” | 重要 | [重要] |
| “〒”@ | 123-4567 | 〒123-4567 |
| @”(代表)” | 03-1234-5678 | 03-1234-5678(代表) |
条件によって表示を変える高度な活用
ユーザー定義書式では、正の数・負の数・ゼロ・文字列で異なる表示形式を指定できます。
書式コードは「正の数;負の数;ゼロ;文字列」という4つのセクションで構成され、セミコロンで区切ります。
例えば、「”売上 “#,##0″円”;”赤字 “#,##0″円”;”–“;@」という書式を設定すると、正の数値には「売上 1000円」、負の数値には「赤字 -500円」、ゼロには「–」、文字列はそのまま表示されます。
この機能を使えば、値の種類に応じて自動的に適切な接頭辞や接尾辞を追加できます。
| 書式コード | 値が1000の場合 | 値が-500の場合 | 値が0の場合 |
|---|---|---|---|
| “売上”#,##0″円”;”損失”#,##0″円”;”–“ | 売上1,000円 | 損失-500円 | — |
| [青]#,##0;[赤]-#,##0;0 | 1,000(青色) | -500(赤色) | 0 |
| “+”#,##0;”-“#,##0;”±0” | +1,000 | –500 | ±0 |
ユーザー定義の表示形式を使う最大のメリットは、元のデータが変更されないことです。
計算式で参照する際は元の値がそのまま使用されるため、数値計算に影響を与えません。
例えば、セルに1000という数値が入っていて、表示形式で「1,000円」と表示されていても、SUM関数で合計する際は数値の1000として計算されます。
ただし、表示形式はあくまで見た目の変更なので、セルの値をコピーして他のアプリケーションに貼り付けると、元の値が貼り付けられる点に注意が必要です。
表示された形式で出力したい場合は、関数を使った方法を選択しましょう。
置換機能とフラッシュフィルで直接データを変更
続いては元のデータ自体を書き換えて文字を追加する方法を確認していきます。
置換機能で一括追加する方法
Excelの置換機能を使うと、既存のデータを検索して、別の文字列に一括置換できます。
この機能を応用すれば、文字の前後に文字列を追加することも可能です。
「ホーム」タブの「検索と選択」→「置換」を選択するか、Ctrl+Hキーを押すと、「検索と置換」ダイアログが開きます。
「検索する文字列」にワイルドカード「*」を入力し、「置換後の文字列」に追加したい文字と「*」を組み合わせて入力します。
置換機能による文字追加の例
先頭に追加
置換: No.*
→ No.が付く
末尾に追加
置換: *様
→ 様が付く
例えば、先頭に「●」を追加したい場合は、「検索する文字列」に「*」、「置換後の文字列」に「●*」と入力して「すべて置換」をクリックします。
ワイルドカードの「*」は任意の文字列を表すため、すべての内容が「●」+元の内容に置き換えられます。
この方法を使う場合は、必ず「オプション」ボタンをクリックして「ワイルドカードを使用する」にチェックを入れる必要があります。
| 追加位置 | 検索文字列 | 置換文字列 | 元の値 | 結果 |
|---|---|---|---|---|
| 先頭 | * | No.* | 12345 | No.12345 |
| 末尾 | * | *様 | 山田太郎 | 山田太郎様 |
| 前後 | * | 【*】 | 重要 | 【重要】 |
| 前後 | * | (*) | 注意 | (注意) |
特定の文字列を含むセルだけに追加したい場合も、置換機能が使えます。
例えば、商品名に「【要冷蔵】」という注意書きを削除したい場合、「検索する文字列」に「【要冷蔵】」、「置換後の文字列」を空欄にして置換すれば、該当する文字列だけが削除されます。
| 元データ(A列) | 検索文字列 | 置換文字列 | 結果 |
|---|---|---|---|
| 冷蔵牛乳【要冷蔵】 | 【要冷蔵】 | (空欄) | 冷蔵牛乳 |
| 冷凍食品セット【要冷凍】 | 【要冷凍】 | (空欄) | 冷凍食品セット |
| 常温保存可能スープ【常温保管】 | 【常温保管】 | (空欄) | 常温保存可能スープ |
| お菓子詰め合わせ | 【*】 | (空欄) | お菓子詰め合わせ |
フラッシュフィルで自動認識させる方法
Excel 2013以降では、フラッシュフィル機能を使って、パターンを自動認識して文字を追加できます。
この機能は、ユーザーが1つか2つの例を入力すると、そのパターンを学習して残りのセルに自動的に適用してくれます。
例えば、A列に「山田」「佐藤」「鈴木」という名前があり、B1セルに「山田様」と手動で入力します。
次にB2セルを選択して「データ」タブの「フラッシュフィル」ボタンをクリックするか、Ctrl+Eキーを押すと、パターンを認識して「佐藤様」「鈴木様」と自動的に入力されます。
フラッシュフィルの使用手順
隣の列に
例を1~2個入力
次のセルを選択
Ctrl+E押下
パターンを認識し
自動入力される
フラッシュフィルは非常に便利ですが、パターンが複雑すぎると正しく認識されないことがあります。
その場合は、もう1つか2つ例を追加して入力すると、認識精度が向上します。
商品コードに「No.」を付ける、電話番号に「(代表)」を付けるといった単純なパターンなら、1つの例で十分認識されます。
数式を値に変換して元データを置き換える
関数で文字を追加した後、数式を残さずに値だけにしたい場合があります。
数式の結果を値に変換するには、「コピー→値として貼り付け」を使用します。
まず、数式が入力されているセルの範囲を選択してコピー(Ctrl+C)します。
次に、同じ範囲または元のデータの範囲を選択し、右クリックして「形式を選択して貼り付け」を選択します。
「値」を選択してOKをクリックすると、数式が計算結果の値に置き換えられます。
置換機能やフラッシュフィルを使った方法は、元のデータを直接書き換えるため、元に戻したい場合は「元に戻す」(Ctrl+Z)を使うか、事前にバックアップを取っておく必要があります。
大量のデータを処理する前には、必ずシートをコピーしてバックアップを作成することをおすすめします。
また、置換機能は選択した範囲内のすべてのセルが対象になるため、意図しないセルまで変更されないよう、処理範囲を正確に選択してから実行しましょう。
ワイルドカードを使用する際は、必ず「オプション」から「ワイルドカードを使用する」にチェックを入れることを忘れないでください。
まとめ エクセルで文字を追加する実践ガイド
エクセルで文字を追加する方法をまとめると
・関数による追加:「=”追加文字”&A1」または「=A1&”追加文字”」で先頭・末尾に追加、「=A1&”/”&B1&”/”&C1」で複数セルを区切り文字付きで結合、LEFT・MID関数の組み合わせで途中にも挿入可能
・ユーザー定義書式:「”追加文字”@」または「@”追加文字”」で表示形式を設定、元データを保持したまま見た目だけ変更
・置換機能:ワイルドカード「*」を使って一括置換、「検索: *」「置換: No.*」で先頭に追加、元のデータを直接書き換える
・フラッシュフィル:例を入力してCtrl+Eでパターン認識、直感的な操作で追加可能
これらの方法にはそれぞれメリットがあり、状況に応じた使い分けが重要です。
計算に使う値を保持したい場合はユーザー定義書式、元データを残したい場合は関数、直接データを変更したい場合は置換やフラッシュフィルが適しています。
ただし、大量のデータを処理する際は注意が必要です。
処理前に必ずバックアップを取り、小規模なテストを行ってから本番のデータに適用することで、トラブルを未然に防げます。
Excelの文字追加テクニックを適切に活用して、データ編集作業の効率化を実現していきましょう!