Excel で2 つの列を結合する際に、テキストの一部を太字にする方法は?
Excel でデータを扱う際、読みやすさやレポート作成のため、2 つの列の情報を1 つのセルに統合することがよくあります。たとえば、顧客名と所在地を一緒に表示したり、商品名とコードを組み合わせたりしたい場面です。こうした操作は通常、CONCATENATE 関数や&演算子を使って行います。しかし、ここには一般的な課題があります。セルの値を結合すると、Excel はその結果を単なる文字列として扱うため、部分的な書式設定をネイティブではサポートしません。つまり、数式で結合されたテキストの一部だけを自動的に太字にすることができず、適用される書式はセル全体に反映されてしまいます。この制限は、特定のセグメント(たとえば最初の単語)を強調したいときに不便です。本チュートリアルでは、Excel で2 つの列を結合する際に一部のテキストを太字にする方法、その実用的な活用シーン、そして代替ソリューションを詳しく解説します。
VBA コードを使用して2 つの列を結合する際にテキストの一部を太字にする
代替方法:数式を使用して値を結合する(書式設定のヒント付き)
VBA コードを使用して2 つの列を結合する際にテキストの一部を太字にする
次のような状況を考えてみましょう。1 つの列に名、もう1 つの列に姓がそれぞれ入力されています。これらを新しい列に結合したいのですが、その際、名の部分だけを太字にし、姓は通常のスタイルで表示したいのです。このような書式は、プロフェッショナルな文書や表示形式でよく見られます。以下のスクリーンショットは、この要望を実現した結果を示しており、結合後のテキストのうち、最初のセグメント(名)が太字で目立つように強調されています。

この方法は、長い説明文の中で名前や商品コードなどの重要な情報を強調したいリストに特に役立ちます。通常のExcel 数式ではセル内の一部だけを書式設定することはできませんが、VBA マクロを使えば、結合と部分的な書式設定のプロセスを自動化できます。簡単なマクロに慣れていて、結合結果に繰り返し部分的な書式設定を適用したいユーザーに最適です。ただし、VBA を実行するにはマクロを有効にする必要があり、また Ctrl+Z での「元に戻す」操作も効かないため、使用前に必ず作業内容を保存してください。
1。ALT + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。VBA を初めて使う場合は、Excel の「開発」タブが有効になっているか確認してください(ファイル > オプション > リボンのユーザー設定 > 「開発」をチェック)!
2。VBA ウィンドウで、挿入>標準モジュールをクリックすると、新しいモジュールが作成されます。その後、以下のコードをモジュールのコード領域に貼り付けてください。このマクロは、各行の2 列の値を結合し、出力結果の先頭の値を太字にします。
VBA コード:2 つの列を結合する際にテキストの一部を太字にする:
Sub JoinCellsWithBoldFormatForFirstWord()
'Updateby Extendoffice 20160725
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim I As Long
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
LInput:
Set xRg = Application.InputBox("Please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Areas.Count > 1 Then
MsgBox "does not support multiple selections", vbInformation, "Kutools for Excel"
GoTo LInput
End If
If xRg.Columns.Count <> 2 Then
MsgBox "only two columns in the selection", vbInformation, "Kutools for Excel"
GoTo LInput
End If
Set xRg = xRg.Resize(xRg.Rows, 3)
On Error Resume Next
For Each xCell In xRg.Columns(3).Cells
xCell = xRg.Cells(xCell.Row, 1) & " " & xRg.Cells(xCell.Row, 2)
xCell.Font.Bold = False
xCell.Characters(1, Len(xRg.Cells(xCell.Row, 1))).Font.FontStyle = "Bold"
Next
End Sub
3。メニューでF5キーを押してマクロを実行すると、結合および書式設定したいセル範囲を選択できるプロンプトウィンドウが表示されます。マウスで選択するか、A1:B10のように範囲を直接入力できます。下図は選択画面です。
実行前のヒント:
- 範囲を選択してください。ただし、結合したい両方の列を確実に含むようにしてください。
- このマクロは元の選択範囲の横に結果を出力するため、データが上書きされないように、あらかじめ出力先のセルが空であることをご確認ください。
- 範囲を選択してください。結合セルや数式が含まれているとエラーの原因となる可能性があるため、事前に解除またはクリアしてください。

誤った範囲を選択してしまった場合は、「キャンセル」をクリックし、マクロを再実行してください。
4。「OK」をクリックすると、マクロがデータを処理します。範囲内各行について、両方の列の値が右側の新しいセルに結合されます。各結果の最初の値は自動的に太字で書式設定されます(下図参照)。

これで、これらの結果をレポートの作成、印刷、エクスポートにさらに活用できます。結果が期待通りでない場合は、選択範囲を再度ご確認いただき、元の両方の列に各行で想定される値が含まれていることをご確認ください。
メリット:
- 結合時に太字など一部の書式設定を適用できるようになります。この機能は、標準の数式では実現できません。
- 大規模なリストの繰り返し作業を自動化します。
デメリット:一部の環境では制限されている可能性があるため、マクロを実行する必要があります。
問題が発生した場合(出力がない、エラーが表示される、書式設定が適用されないなど):
- セキュリティ設定を確認し、マクロが有効になっていることをご確認ください(ファイル > オプション > トラストセンター > トラストセンターの設定 > マクロの設定)。
- 対象範囲に保護されたシートや結合セルが含まれていないことをご確認ください。
- 範囲が正しく選択されていない場合は、マクロを再実行し、隣接する2 列のみを選択してください。
代替方法:数式を使用して値を結合する(書式設定のヒント付き)
VBA を使いたくない方は、Excel のCONCATENATE 関数やTEXTJOIN 関数、あるいはシンプルなアンパサンド()&)を使って、2 つの列の値を簡単に結合できます。数式では出力の一部に太字書式を適用できませんが、列を結合した後で、必要に応じて各セルのテキストを手動で自由に書式設定できます。
Excel で2 つの列(A 列と B 列)を結合するには:
1。出力先の列にある最初のセル(例:C2)をクリックし、次の数式を入力してください。
=A2 & " " & B2 2。「Enter」キーを押して確定し、結合結果を取得します。必要に応じてフィルハンドルを下にドラッグして、他の行にも数式を適用しましょう。数式の結果であるテキストの一部を手動で太字にする場合は、まず結果セルを同じ場所に「値として」コピー&ペーストしてください。その後、セルをダブルクリックして目的の部分を選択し、Ctrl + Bを押すか、「ホーム」タブの「太字」ボタンをご利用ください。
3。他の区切り文字やカスタム形式を使いたい場合は、必要に応じて数式を調整してください。たとえば、テキストの間にカンマを追加するには:
=A2 & ", " & B2 メリット:
- シンプルで、マクロや特別な設定は一切不要です。
- 任意の数のセルを結合でき、カスタム区切り文字も自由に設定できます。
デメリット:
- 部分的な書式設定(テキストの一部のみを太字にするなど)は手動で適用する必要があり、動的には反映されません。値を更新した場合は、再度書式設定を行ってください。
- 手動での書式設定が必要な場合は、非常に大規模なデータセットには向きません。
部分的な書式設定が必要な場合は、小規模なデータセットやデータ確定後のプレゼンテーション用テーブルに最適です。
まとめると、VBA を使えば大規模なプロジェクトや自動化されたワークフローにおいて、結合結果の一部に書式設定を適用することが可能です。一方で、基本的な結合には数式が最も適しており、日常的な利用にも手軽です。書式設定を気にせず数式のみで結合したい場合は、標準のExcel 結合手法をご参照ください。マクロを使用する前に、必ずワークブックのバックアップを取得し、自動化タスクを実行する前に選択範囲を再度ご確認ください。
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得