excel

【Excel】エクセルの文字列にカンマを入れる方法(指定した位置・数字の間・関数・結合・挿入・&)

エクセルの文字列にカンマを入れる方法【指定位置への挿入】 - LEFT関数とRIGHT関数による先頭側への挿入
当サイトでは記事内に広告を含みます

Excelで管理している商品コード、電話番号、住所、日付風の文字列などにカンマを加えたい場面は少なくありません。

数字を三桁ごとに区切る場合だけでなく、文字列の決まった位置へ挿入する、複数セルをカンマ付きで結合する、&演算子で表示形式を整えるといった方法を知っておくと、名簿やCSV用データの整形が効率的になります。

文字列へのカンマ追加は、入力済みセルを直接編集する方法、LEFT関数・MID関数・RIGHT関数で位置を指定する方法、TEXT関数で数値を書式化する方法、TEXTJOIN関数や&で結合する方法を使い分けるのがポイントです。

ここでは、1行目に見出しがある表を例に、元データを壊さずにカンマを入れる実践的な手順を解説します。

 

エクセルの文字列にカンマを入れる方法【指定位置への挿入】

それではまず、決まった文字数の位置にカンマを挿入する方法について解説していきます。

A列 商品コード B列 カンマ挿入後
AB123456 AB,123456
CD987654 CD,987654

 

LEFT関数とRIGHT関数による先頭側への挿入

商品コードのように、先頭から何文字目の後ろへカンマを入れるルールが決まっているなら、LEFT関数とRIGHT関数を組み合わせる方法が分かりやすく安全です。

たとえばA2セルにAB123456があり、先頭2文字の後ろへカンマを入れたい場合は、結果を表示したいB2セルに数式を入力します。

=LEFT(A2,2)&”,”&RIGHT(A2,LEN(A2)-2)

LEFT(A2,2)はA2セルの左側から2文字を取り出す部分で、結果はABです。

RIGHT(A2,LEN(A2)-2)は、文字列全体の文字数から2を引いた文字数だけ右側を取り出す指定であり、AB以外の123456を返します。

その間に&”,”&を置くことで、AB、カンマ、123456の順に連結され、B2にはAB,123456と表示されます。

元データの桁数が一定でない可能性があるときは、RIGHT関数の文字数を固定値にせずLEN関数で求めることが重要です。

数式を確定したら、B2セル右下の小さな四角形であるフィルハンドルを下へドラッグすると、3行目以降にも同じ処理をコピーできます。

エクセルの文字列にカンマを入れる方法【指定位置への挿入】 - LEFT関数とRIGHT関数による先頭側への挿入

この方法は、先頭の分類コードと後半の連番を区切って表示したい場合に向いています。

一方で、A2が空白の場合は結果もカンマだけになることがあるため、空白を表示したくない表ではIF関数を加えると扱いやすくなります。

=IF(A2=””,””,LEFT(A2,2)&”,”&RIGHT(A2,LEN(A2)-2))

この数式ならA2が空白の行は空白のままで、入力された行だけ整形できます。

数式の結果を別のシステムへ貼り付けるときは、B列をコピーしてから値として貼り付けを行うと、数式ではなく文字列として渡せます。

 

MID関数を使った途中位置へのカンマ追加

カンマを入れたい位置が文字列の途中であり、前後とも必要な長さを指定したい場合はMID関数を使うと式の意味を読み取りやすくなります。

たとえばA2セルの123456789を123,456789へ変更するなら、B2セルにはLEFT関数、MID関数、RIGHT関数を組み合わせた数式を入力します。

=LEFT(A2,3)&”,”&MID(A2,4,LEN(A2)-3)

MID(A2,4,LEN(A2)-3)は、A2の4文字目から最後までを抜き出す指定です。

最初の3文字をLEFT関数で取り出し、その直後にカンマを挟み、4文字目以降をMID関数でつなげるため、123,456789という結果になります。

MID関数の開始位置は1文字目を1として数えるため、3文字目の後ろに挿入する場合は開始位置を4にします。

特定の文字列を探してその後ろへ入れたいケースでは、位置を固定するよりFIND関数を利用する考え方も便利です。

=LEFT(A2,FIND(“-“,A2))&”,”&MID(A2,FIND(“-“,A2)+1,LEN(A2))

この式は、A2内にあるハイフンの位置をFIND関数で調べ、ハイフンまでの部分と、その後ろの部分の間へカンマを入れます。

ただしFIND関数は対象文字が見つからないとエラーになるため、ハイフンが存在しないデータも混ざる場合はIFERROR関数で元の値を返す設定にすると安心です。

エクセルの文字列にカンマを入れる方法【指定位置への挿入】 - MID関数を使った途中位置へのカンマ追加

入力するセルはA列ではなく空いているB列にし、結果を確認してから必要に応じて値貼り付けで置き換える流れにしましょう。

直接A列を書き換えると、誤った位置にカンマを入れた場合に元のコードを見失いやすくなります。

固定位置の処理では、全角文字や絵文字が混在すると見た目の幅と文字数が一致しないことがありますが、LEFT関数などは表示幅ではなく文字単位で処理する点にも注意が必要です。

 

置換機能と手入力を使う場面

対象セルが数件だけで、規則性のある数式を作るほどではない場合は、セルを編集して直接カンマを入れる方法も選択肢になります。

セルをダブルクリックするか、対象セルを選択してF2キーを押すと編集状態になるため、挿入したい位置をクリックしてカンマを入力し、Enterキーで確定します。

この方法は住所の補足や、例外的なコードの見栄えを整える作業では素早く済みます。

しかし、数十行以上のデータを手で編集すると、入れ忘れや位置ずれが発生しやすくなります。

同じ規則で複数行を処理するなら、手入力よりも数式を作成してオートフィルするほうが、再現性と確認のしやすさで優れます。

すでに特定の記号があり、それをカンマへ変更するだけなら、CtrlキーとHキーで開く検索と置換も使えます。

検索する文字列に半角スペースやスラッシュを入力し、置換後の文字列に半角カンマを入力してから、すべて置換を実行します。

この操作は文字列の場所を問わず一括変更するため、置換対象の列だけを選択してから実行することが大切です。

列全体ではなくシート全体を対象にすると、見出しや説明文まで変わるかもしれません。

また、カンマを含むCSV形式のデータでは、カンマそのものが列区切りとして扱われる場合があります。

CSVへ保存する予定があるなら、文字列が二重引用符で囲まれるか、読み込み側の仕様で問題がないかを先に確認しましょう。

【操作のポイント】数件の例外は編集モードで対応し、同じ位置へ繰り返し挿入するデータは別列の数式で処理してから値貼り付けを行います。

 

エクセルで数字の間にカンマを表示する方法【表示形式とTEXT関数】

続いては、数値を三桁ごとに区切って表示する方法を確認していきます。

A列 売上 B列 表示結果
1234567 1,234,567
9800 9,800

 

桁区切りスタイルによる表示形式の設定

セルに入っている値が本来の数値であり、計算にも使う金額や数量なら、数式で文字列へ変換する前に表示形式を変更する方法が基本です。

対象となるA2からA10などのセル範囲を選択し、ホームタブの数値グループにある桁区切りスタイルのボタンをクリックします。

カンマのように見えるアイコンのボタンを押すと、1234567は1,234,567と表示されます。

セル内部の値は1234567の数値のままであるため、SUM関数、AVERAGE関数、並べ替え、フィルターでも数値として正しく扱われます。

見た目だけにカンマを付けたい数値は、TEXT関数よりも表示形式を使うほうが、計算用データを維持できるため実務向きです。

小数点以下を表示したくない場合は、桁区切りスタイルを設定した後に小数点以下の表示桁数を減らすボタンをクリックします。

逆に、金額で小数点以下2桁が必要なら、セルの書式設定を開き、表示形式の数値で桁区切りを使用する設定と小数点以下の桁数を指定します。

エクセルで数字の間にカンマを表示する方法【表示形式とTEXT関数】 - 桁区切りスタイルによる表示形式の設定

数値に見えても左寄せで表示され、計算結果が0になる場合は、セルが文字列として保存されている可能性があります。

その場合は、エラー表示の横に出る警告アイコンから数値に変換するか、VALUE関数を使って数値化してから表示形式を設定します。

郵便番号や社員番号のように先頭のゼロを保持すべき値は、数値へ変換するとゼロが消えるため、単純に桁区切りスタイルを適用しないようにしましょう。

 

TEXT関数で他の文字列と結合する方法

数値にカンマを付けたうえで単位や文章を加えたい場合は、TEXT関数で数値の見た目を文字列に変換してから結合します。

たとえばA2セルに1234567が入力されており、B2セルに売上は1,234,567円と表示したいなら、次の数式を入力します。

=”売上は”&TEXT(A2,”#,##0″)&”円”

TEXT関数の最初の引数A2は書式を付けたい数値で、2番目の引数”#,##0″は三桁ごとのカンマと小数なしを指定する表示形式です。

この数式の結果は文字列になるため、売上は1,234,567円という文章として表示できます。

TEXT関数の結果は文字列なので、さらに合計する列には使わず、表示専用列として扱うことが大切です。

小数第2位まで表示するなら書式コードを”#,##0.00″に変更します。

=TEXT(A2,”#,##0.00″)&” 円”

この指定では、A2が9800なら9,800.00 円と表示され、端数がない場合でも小数点以下のゼロがそろいます。

パーセント表示では、元の数値が0.125ならTEXT(A2,”0.0%”)で12.5%になります。

すでに125という値が入っている場合に同じ書式を使うと12500.0%となるため、元データが割合なのか、百分率の数値なのかを確認して式を決める必要があります。

エクセルで数字の間にカンマを表示する方法【表示形式とTEXT関数】 - TEXT関数で他の文字列と結合する方法

TEXT関数で作った結果を元の数値へ戻したいときは、単位を含まない数値列を別に残しておくのが確実です。

帳票の見出し、メール本文用の一覧、商品価格の説明文などでは、表示用の列を増やす構成が後から修正しやすいでしょう。

 

ユーザー定義表示形式と文字列化の違い

セル内の数値を計算に使い続けながら、円や個などの文字も一緒に見せたいときは、ユーザー定義表示形式が役立ちます。

対象セルを選択してCtrlキーと1キーを押し、セルの書式設定を開いてから、表示形式の分類でユーザー定義を選択します。

種類の欄へ#,##0″円”と入力すると、1234567は1,234,567円と見えますが、数式バーでは1234567という数値のままです。

表示形式は値を変えずに見た目を整え、TEXT関数は結果を文字列に変えるという違いがあります。

ユーザー定義表示形式で文字を表示する場合、固定文字列は二重引用符で囲みます。

マイナスの数値、ゼロ、文字列に別々の見た目を設定したいときは、正の数、負の数、ゼロ、文字列の順にセミコロンで書式を分けられます。

#,##0″円”;-#,##0″円”;0″円”

このように設定すると、正の数は1,200円、負の数は-1,200円、ゼロは0円として表示されます。

ただし、列幅が狭いと####と表示されることがあるため、列見出しの右端をダブルクリックして幅を自動調整しましょう。

数値をコピーして外部アプリケーションへ貼り付ける場合、通常のコピーでは書式も反映されることがありますが、貼り付け先によってはカンマや単位が失われます。

見た目そのものを渡す必要があるならTEXT関数で文字列化する、Excel内で集計を続けるなら表示形式にするという判断が適しています。

【操作のポイント】計算用の数値には桁区切りスタイルまたはユーザー定義表示形式を使い、文章へ埋め込む数値にはTEXT関数を使い分けます。

 

エクセルで複数セルをカンマ区切りで結合する方法【&とTEXTJOIN】

続いては、複数のセルの値をカンマで区切って一つの文字列にまとめる方法を確認していきます。

A列 姓 B列 名 C列 結合結果
山田 花子 山田,花子

 

&演算子で二つのセルをカンマ結合する手順

二つまたは三つ程度のセルを決まった順番でつなぐなら、&演算子を使う方法がもっとも簡潔です。

A2セルに姓、B2セルに名が入っているとき、C2セルへ次の数式を入力します。

=A2&”,”&B2

式の中のカンマは文字として出力するため、必ず二重引用符で囲みます。

A2が山田、B2が花子なら、C2には山田,花子と表示されます。

&は文字列を連結する演算子であり、カンマを入れたい場所へ&”,”&という形で挟むのが基本です。

姓と名のほかに部署もD2セルへ加える場合は、=A2&”,”&B2&”,”&D2のように連結を増やします。

この方法では、途中のセルが空白でもカンマは出力されます。

たとえばB2が空白なら山田,,営業部のように連続したカンマが残るため、任意入力の項目が含まれる表には注意が必要です。

空白の場合だけカンマを省きたいときは、IF関数を使い、B2が空白でない場合にだけ&”,”&B2を追加する式を作ります。

=A2&IF(B2=””,””,”,”&B2)という形にすると、B2が未入力なら山田だけが表示されます。

入力規則で選択する都道府県、市区町村、番地などを別セルに分けている住所表でも、同じ考え方でカンマ区切りの出力列を作成できます。

 

TEXTJOIN関数で空白を除いて連結する方法

複数のセルをまとめ、空白セルを自動的に除外したい場合はTEXTJOIN関数が便利です。

A2からD2に分類、商品名、色、サイズが入っている表では、E2セルに次の数式を入力します。

=TEXTJOIN(“,”,TRUE,A2:D2)

最初の引数”,”は各値の間に入れる区切り文字、2番目の引数TRUEは空白セルを無視する指定、3番目の引数A2:D2は結合する範囲です。

A2が衣類、B2がシャツ、C2が空白、D2がMなら、結果は衣類,シャツ,Mとなり、空白部分のための余分なカンマは入りません。

入力の有無が行ごとに異なるデータは、IF関数を何重にも書くよりTEXTJOIN関数で空白を無視するほうが式を保守しやすくなります。

TEXTJOIN関数は比較的新しいExcelで利用できる関数です。

古いバージョンで関数名が認識されない場合は、&演算子とIF関数を組み合わせるか、Power Queryなど別の機能を検討します。

範囲内の値が数値で、三桁区切りも付けたい場合は、TEXTJOINだけでは表示形式を引き継げないことがあります。

その場合は個別にTEXT関数を使うか、表示専用の整形列を作ってからTEXTJOINで結合します。

=TEXTJOIN(",",TRUE,A2,B2,TEXT(C2,"#,##0"))

この例ではC2の数値だけを#,##0の書式で文字列化してから、A2とB2の間に加えています。

列全体へ式をコピーした後は、空白行や数値が0の行も確認し、業務上必要なゼロが省略されていないかを見直しましょう。

 

詳細イメージ図で確認する数式入力とオートフィル

数式を入力する際は、結合結果を置く空き列の先頭データ行を選び、数式バーとセル内の両方で参照先が正しいか確認します。

Book1 – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示 ヘルプ
B
罫線
中央揃え
オートSUM
fx=A2&”,”&B2
A B C
1 姓 名 結合結果
2 山田 花子 山田,花子
3 佐藤 太郎
C2右下の■を下へドラッグ ➤ 数式をコピー

図のようにC2へ=A2&”,”&B2と入力してEnterキーを押すと、参照先の値をカンマ付きで連結した結果が表示されます。

セルC2の右下にあるフィルハンドルを下へドラッグすると、C3では自動的に=A3&”,”&B3という相対参照の式になり、行ごとの氏名を処理できます。

数式をコピーする前に、先頭行の結果が期待どおりか確認すれば、参照列の取り違えを早い段階で防げます。

列の途中に小計行や見出し行がある表では、フィルハンドルを一気に使うと不要な行にも数式が入ることがあります。

そのような表では、処理対象だけを選択してCtrlキーとDキーで下方向へコピーする方法も便利です。

結果列をCSVとして出力する場合は、カンマを含む文字列が引用符で囲まれるかを確認してください。

Excelで保存するCSV UTF-8形式は文字コードの面では扱いやすい一方、読み込み先のソフトウェアがカンマ入りの項目を正しく解釈できるかは別途確認が必要です。

【操作のポイント】二つの必須項目には&演算子、入力されない項目が混ざる範囲には空白を無視できるTEXTJOIN関数を使います。

 

エクセルのカンマ挿入で起こりやすいエラーと確認事項

続いては、カンマを入れた後に表示や計算で困りやすいポイントを確認していきます。

確認項目 対応の目安
計算結果が合わない TEXT関数で文字列化していないか確認
余分なカンマがある 空白セルとTEXTJOINの設定を確認

 

数値が文字列になって計算できない場合

TEXT関数や&演算子でカンマ付きの値を作ると、見た目が数字でもExcelでは文字列として扱われます。

たとえばB2に=TEXT(A2,”#,##0″)と入力した結果をSUM関数で合計しても、期待した数値にならないことがあります。

これはTEXT関数が数値へ書式を付けると同時に、結果を文字列へ変換するためです。

集計に使う値は元の数値列に残し、カンマ付きの列は帳票や表示専用として分ける構成が基本です。

すでにカンマを含む文字列を数値へ戻す必要があるときは、SUBSTITUTE関数でカンマを空文字へ置換し、VALUE関数で数値に変換します。

=VALUE(SUBSTITUTE(B2,”,”,””))

SUBSTITUTE(B2,”,”,””)はB2のカンマを削除し、VALUE関数が残った1234567の文字列を数値として認識します。

ただしB2に円や個といった単位も含まれている場合は、その文字もSUBSTITUTE関数で取り除く必要があります。

マイナス記号、全角カンマ、先頭や末尾のスペースが混じると変換に失敗することがあるため、データの入力元も確認しましょう。

セルが数値か文字列かは、ホームタブの配置、数式バーの表示、ISTEXT関数やISNUMBER関数でも確認できます。

大量のデータで形式が混在している場合は、数式だけで対応する前に、データタブの区切り位置機能やPower Queryで整形する方法も検討できます。

 

カンマの重複と全角半角の混在を防ぐ方法

既にカンマが入っている文字列へ再度同じ数式を適用すると、二重のカンマや意図しない位置の区切りが生じることがあります。

処理前のA列と処理後のB列を並べ、数行だけ目視で比較してからオートフィルを実行する習慣が有効です。

文字列の中にカンマがあるかを判定したいなら、COUNTIF関数でワイルドカードを使う方法があります。

=IF(COUNTIF(A2,”*,*”)>0,A2,LEFT(A2,2)&”,”&RIGHT(A2,LEN(A2)-2))

この数式はA2内にすでに半角カンマがある場合は元のA2をそのまま返し、ない場合だけ先頭2文字の後ろへカンマを追加します。

半角カンマと全角カンマは別の文字として扱われるため、データのルールを半角か全角のどちらかへ統一することが重要です。

全角カンマを半角カンマへそろえるなら、SUBSTITUTE(A2,”,”,”,”)を使います。

逆に、日本語の住所や文章中で全角記号を使う社内ルールがあるなら、置換後の文字列へ全角カンマを指定します。

CSV形式では一般的に半角カンマが区切り文字として使われるため、データ項目の内部に半角カンマを含める場合は、出力先の仕様に注意しなければなりません。

数式が正しくても、CSVをメモ帳で開いたときに列がずれて見えるなら、Excel上の表示だけで判断せず、インポート先でのテストも行いましょう。

特に顧客データや商品マスタを連携する作業では、少量の検証用ファイルで取り込み結果を確認してから全件を出力する流れが安全です。

【操作のポイント】カンマ付きの数式結果は文字列になることを理解し、計算用の元数値と表示・出力用の文字列を分けて管理します。

 

まとめ エクセルの文字列にカンマを入れる方法(結合・挿入・関数・指定位置・数字の間・&)

Excelの文字列にカンマを入れるには、目的に応じて方法を選ぶことが大切です。

決まった位置へ挿入する商品コードなどは、LEFT関数、MID関数、RIGHT関数とLEN関数を組み合わせると、元データを残しながら安定して整形できます。

数値の三桁区切りは、計算を続けるなら桁区切りスタイルやユーザー定義表示形式を使い、文章として表示したい場合はTEXT関数を利用します。

複数セルをカンマ区切りで結合する場面では、二つの必須項目なら&演算子、空白が混在する複数項目ならTEXTJOIN関数が便利です。

数式で作成したカンマ付きの結果は文字列になるため、集計用の数値列を別に保持することが、後の計算ミスを防ぐポイントです。

まずは空き列で数式を試し、結果を確認してからオートフィルや値貼り付けを行いましょう。