Excel一覧 Excel関数 文字列結合関数(CONCAT/ & /TEXTJOIN)

【Excel】数値と文字列を結合する方法|桁数や表示形式を維持するテクニック

Excelで数値と文字列を結合しようとしたとき、

  • 先頭の0が消えてしまった
  • 金額のカンマ区切りがなくなった
  • パーセント表示が崩れた
  • 思った表示形式にならない

と困ったことはないでしょうか。

Excelでは数値と文字列を簡単に結合できますが、数値の表示形式はそのまま引き継がれません。そのため、商品コードや管理番号、金額表示などを扱う場合は注意が必要です。

この記事では、数値と文字列を結合する基本方法から、TEXT関数を使って表示形式を維持する方法、実務で役立つ活用例まで詳しく解説します。

✅ Excelで数値と文字列を結合する基本方法

数値と文字列を結合する方法はいくつかあります。

しかし、単純に結合しただけでは表示形式が崩れることがあります。

特に商品コードや社員番号、郵便番号などでは先頭の0が消えるため注意が必要です。

実務ではデータ管理や帳票作成で数値と文字列を組み合わせる場面が頻繁にあります。

ここを理解していないと、完成した資料で意図しない表示になることがあります。

まずは基本的な結合方法から確認していきましょう。

・「&」演算子で結合する方法

A1セルに数値が入力されているとします。

A1
100

以下の数式を入力します。

="商品番号:"&A1

結果

商品番号:100

最もシンプルな方法です。

・CONCAT関数で結合する方法

=CONCAT("商品番号:",A1)

結果

商品番号:100

複数セルを結合する場合にも利用できます。

・TEXTJOIN関数で結合する方法

=TEXTJOIN("",TRUE,"商品番号:",A1)

空白セルを無視しながら結合できるため、実務では便利です。

TEXTJOIN関数は数値と文字列の結合だけでなく、空白セルを除外しながら複数データをまとめる場面でも活躍します。

実務での活用方法については、こちらの記事で詳しく解説しています。

【Excel】空白セルを無視して文字を結合する方法|TEXTJOIN関数の実務活用


✅ 数値と文字列を結合すると表示形式が崩れる理由

数値と文字列を結合した際に問題となるのが表示形式です。

Excelではセルの見た目と実際の値が異なる場合があります。

そのため、結合時に表示形式が失われることがあります。

実務では管理番号や金額を扱うケースが多いため、この仕組みを理解しておくことが重要です。

ここではよくあるトラブルを見ていきましょう。

・先頭の0が消える

A1セル

00123

表示されていても、内部値は

123

の場合があります。

以下の数式では、

="コード:"&A1

結果

コード:123

となることがあります。

・カンマ区切りが消える

セル表示

1,000,000

でも、

="売上:"&A1

結果

売上:1000000

になります。

・パーセント表示が崩れる

セル表示

80%

でも、

="達成率:"&A1

結果

達成率:0.8

となる場合があります。


✅ TEXT関数で表示形式を維持しながら結合する方法

表示形式を維持したい場合はTEXT関数を使用します。

実務では数値と文字列を結合する際に最も重要な関数です。

商品コードや売上金額、達成率などを見やすく表示できます。

ここを覚えるだけで資料作成の品質が大きく向上します。

まずは基本構文から確認しましょう。

・TEXT関数の基本構文

=TEXT(値,"表示形式")

=TEXT(A1,"0")

数値を文字列として変換できます。

・数値と文字列を結合する基本例

="商品番号:"&TEXT(A1,"0")

結果

商品番号:100

・CONCAT関数との組み合わせ

=CONCAT("商品番号:",TEXT(A1,"0"))

こちらでも同じ結果になります。

TEXT関数は数値の桁数調整だけでなく、時間表示や日付表示のカスタマイズにも活用できます。

表示形式をさらに使いこなしたい方は、こちらの記事もご覧ください。

【Excel】TEXT関数で時間表示を変更する方法|「○時間○分」表示にも対応


✅ 桁数を維持して数値と文字列を結合する方法

管理番号や社員番号では桁数を固定したいケースがあります。

ここを理解していないと、先頭の0が消えてしまいます。

特にCSV出力やシステム連携では重要なポイントです。

実務では非常によく使うテクニックです。

・5桁で表示する方法

=TEXT(A1,"00000")

結果

TEXT関数で桁数を固定する場合、先頭の0をどのように扱うかが重要になります。

郵便番号や商品コードなどで先頭の0を維持したい場合は、こちらの記事も参考にしてみてください。

【Excel】先頭の0を表示する関数【数値を文字列として扱い、桁数を固定するテクニック】

結果
12300123

・文字列と結合する

="社員番号:"&TEXT(A1,"00000")

結果

社員番号:00123

・管理番号を作成する

="ID-"&TEXT(A1,"00000")

結果

ID-00123

管理表などでよく使われます。

商品コードや社員番号などでは、数値を結合するだけでなく桁数を統一したいケースも少なくありません。

先頭の0を付けながら桁数をそろえる方法については、こちらの記事で詳しく解説しています。

【Excel】先頭に0をつける方法と桁数をそろえる方法|表示形式・関数・文字列の使い分けガイド


✅ 金額やパーセント表示を維持する方法

実務では売上や達成率を文字列と一緒に表示したいケースが多くあります。

単純結合では見た目が崩れるため、TEXT関数を利用します。

資料の見やすさにも直結するポイントです。

ここでは代表的な例を紹介します。

・金額表示を維持する

="売上:"&TEXT(A1,"#,##0")

結果

売上:1,000,000

・円表示にする

="売上:"&TEXT(A1,"¥#,##0")

結果

売上:¥1,000,000

・パーセント表示を維持する

="達成率:"&TEXT(A1,"0%")

結果

達成率:80%

・小数点を含める

="達成率:"&TEXT(A1,"0.0%")

結果

達成率:80.5%

数値の表示形式を調整する際は、先頭の0だけでなく「0そのもの」の表示ルールも理解しておくことが重要です。

ゼロ表示の考え方については、こちらの記事も参考になります。

【Excel】「0」を正しく表示する方法【先頭の0・ゼロのみ・非表示回避など実用テクニック】


 

✅ 実務でよくある数値と文字列の結合例

数値と文字列の結合はさまざまな業務で利用されています。

単なる関数学習ではなく、実際の業務に直結するテクニックです。

応用例を知ることで活用イメージが広がります。

ここでは代表的な利用例を紹介します。

・商品コードを作成する

="PRD-"&TEXT(A1,"0000")

結果

PRD-0123

・請求書番号を作成する

="INV-"&TEXT(A1,"000000")

結果

INV-000123

・売上実績を文章化する

="本日の売上は"&TEXT(A1,"¥#,##0")&"です"

結果

本日の売上は¥1,000,000です

・達成率を報告文にする

="目標達成率は"&TEXT(A1,"0.0%")&"です"

結果

目標達成率は85.2%です

今回紹介した方法以外にも、Excelにはさまざまな文字列結合の方法があります。

結合関数全体の使い分けを体系的に理解したい場合は、こちらの記事がおすすめです。

【Excel】セルの文字列を結合する方法|関数・演算子・TEXTJOIN・実務活用まで徹底解説


✅ VBAでも数値と文字列の結合はよく使われる

Excel VBAでも数値と文字列を結合する処理は頻繁に登場します。

例えば、

  • ファイル名の生成
  • 管理番号の自動採番
  • CSV出力
  • ログ管理

などです。

VBAではFormat関数を使用します。

FileName = "売上報告_" & Format(Date, "yyyymmdd")

また、

EmployeeID = "ID-" & Format(EmployeeNo, "00000")

のような使い方もよく行われます。

Excel関数のTEXT関数を理解しておくと、VBAのFormat関数もスムーズに習得できます。


✅ まとめ:数値と文字列を結合するときはTEXT関数を活用しよう

今回解説したポイントは以下のとおりです。

  • 数値と文字列は「&」「CONCAT」「TEXTJOIN」で結合できる
  • 表示形式はそのまま引き継がれない
  • 先頭の0やカンマ区切りが消えることがある
  • TEXT関数を使うと表示形式を維持できる
  • 管理番号や金額表示で特に活躍する
  • VBAではFormat関数が同様の役割を持つ

数値と文字列の結合はExcelの実務で非常によく利用されます。

TEXT関数を使いこなせるようになると、見やすい資料や管理表を効率よく作成できるようになります。まずは身近なデータで試してみてください。

    -Excel一覧, Excel関数, 文字列結合関数(CONCAT/ & /TEXTJOIN)