Excel でセルの指定位置にテキストと数字で分割を追加
Excel では、セルにテキストや数値を追加するのは非常に一般的な作業です。たとえば、名前の間にスペースを挿入したり、セルにプレフィックスやサフィックスを追加したり、社会保障番号にダッシュを挿入したりすることがよくあります。このチュートリアルでは、Excel で発生するほぼすべての「追加」シナリオを網羅し、それぞれに最適な対応方法をご紹介します。
本チュートリアルのナビゲーション |
注記
このチュートリアルでは、いくつかの具体例を通じて各メソッドをわかりやすく解説しています。以下の VBA コードや数式をご利用の際は、必要に応じて参照先を変更してください。また、サンプルファイルをダウンロードして、実際にメソッドをお試しいただくことも可能です。
このセクションでは、以下のスクリーンショットのように、各セルの先頭に文字を追加するさまざまな方法をご紹介します。
以下の3 つの数式から、お好みの1 つをお選びいただけます。
数式1 結合演算子「&」
アンパサンド(「&」)を使って、複数のテキストを簡単に結合できます。
「テキスト」&セル
数式2 CONCATENATE 関数
CONCATENATE 関数は、テキストをつなぎ合わせるために使用されます。
CONCATENATE(「テキスト」、セル)
数式3 CONCAT 関数
これは Excel 2019、Office 365、および Excel Online 専用の新機能です。
CONCAT(「テキスト」、セル)
一般的な数式では、「セル」はプレフィックスを追加したいテキストが入力されているセルの参照を、「テキスト」はそのセルに追加したい文字列を示します。
上記の例を活用して、数式バーで次のように数式を適用できます。
「&」
=$E$3&B3または=「Iphone」&B3
CONCATENATE 関数
=CONCATENATE($E$3,B3)または=CONCATENATE(「Iphone」,B3)
CONCAT 関数
=CONCAT($E$3,B3)または=CONCAT(「Iphone」,B3)
Enter キーを押して結果を取得し、その後、オートフィルハンドルを下にドラッグして範囲 B3:B6 の各セルに適用します。
| 注意:テキストは二重引用符で囲む必要があります。囲まないと、数式はエラー値 #NAME? を返します。セル参照を使用してテキストを指定する場合は、絶対参照を使用してください。相対参照を絶対参照に変更するには、F4 キーを押します。 |
Excel 2013 以降をご利用の場合、強力な新機能フラッシュフィルを使えば、上位のセルに入力した内容に基づいて、自動的にセルを埋めることができます。
最初の元データの隣にあるセルを選択し、下図のようにプレフィックステキスト付きで最初のデータを手動で入力します。
その下のセルで、プレフィックステキスト付きの2 番目のデータを入力し始めると、グレーのリストが表示されます。このリストが表示されている状態でEnterキーを押すと、フラッシュフィルが自動的にデータを埋めます。

プレビューリストが表示されない場合は、「ホーム」タブに移動し、「塗りつぶし」 → 「フラッシュフィル」をクリックして手動で実行してください。
VBA コードに慣れている場合は、ここでは範囲内の各セルの先頭にテキストの追加を追加する VBA コードを紹介します。
1。プレフィックステキストを追加したいセル範囲を選択し、Alt+F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。
2。次に表示されるウィンドウで、挿入 > モジュールをクリックして、新しい空白のモジュールを挿入します。![[挿入]>[標準モジュール]をクリックして新しい空白モジュールを挿入](http://cdn.extendoffice.com/images/stories/doc-excel/add-text-number-to-cell/doc-add-at-start-6.png)
3。以下の VBA コードを新しいモジュールにコピー&ペーストしてください。
VBA:セルの先頭に追加
Sub AppendToExistingOnLeft()
Dim c As Range
For Each c In Selection
If c.Value <> "" Then c.Value = "Iphone" & c.Value
Next
End Sub | 注意:コードスクリプト内で、Iphoneは選択したセルの先頭に追加したいテキストです。必要に応じて変更してください。 |

4。F5キーを押すか、ウィンドウ内の実行ボタン
をクリックして、VBA コードを実行してください。
これで、選択したすべてのセルの先頭に「Iphone」というテキストが追加されました。
セルの先頭だけでなく、末尾にテキストを追加することもよくあります。ここでは、各セルの末尾に単位を追加する例を以下に示します(スクリーンショット参照)。
以下の3 つの数式から、お好みの1 つをお選びいただけます。
数式1 結合演算子「&」
アンパサンド(「&」)を使って、複数のテキストを簡単に結合できます。
セル&「テキスト」
数式2 CONCATENATE 関数
CONCATENATE 関数は、テキストをつなぎ合わせるために使用されます。
CONCATENATE(セル、「テキスト」)
数式3 CONCAT 関数
これは、Excel 2019、Office 365、およびExcel Online でのみご利用いただける新機能です。
CONCAT(セル、「テキスト」)
これらの汎用的な数式では、「セル」は接尾辞を追加したいテキストが入力されているセルの参照を、「テキスト」はそのセルに追加する文字列を表します。
上記の例に基づき、数式バーで次の数式がご利用いただけます。
「&」
=B3&$E$3または=B3&「Kg」
CONCATENATE 関数
=CONCATENATE(B3, $E$3)または=CONCATENATE(B3, 「Kg」)
CONCAT 関数
=CONCAT(B3, $E$3)または=CONCAT(B3, 「Kg」)
Enterキーを押して結果を取得し、その後、オートフィルハンドルを下にドラッグして範囲 B3:B6 の各セルの末尾まで適用します。
| 注意:テキストは二重引用符で囲む必要があります。囲まないと、数式はエラー値#NAME?を返します。テキストを含むセル参照を使用する場合は、絶対参照を使用することを忘れないでください。相対参照を絶対参照に変更するには、F4 キーを押します。 |
Excel 2013 以降をご利用の場合、強力な新機能フラッシュフィルが、入力済みの上位セルに基づいて自動的にセルを埋めてくれます。
元データの最初のセルの隣にあるセルを選択し、以下のように接尾辞付きの最初のデータを手動で入力します。
その後、最初の結果の下にあるセルをアクティブにして、データ > フラッシュフィルを選択すると、アクティブセルから下のすべてのセルが自動的に埋められます。

以下の VBA コードを使用すると、指定範囲の各セルの末尾にテキストの追加を追加できます。
1。接尾辞を追加したいセル範囲を選択し、Alt+F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。
2。表示されたウィンドウで、挿入 > 標準モジュールをクリックして、新しい空白のモジュールを挿入します。![[挿入]>[標準モジュール]をクリックして新しい空白モジュールを挿入](http://cdn.extendoffice.com/images/stories/doc-excel/add-text-number-to-cell/doc-add-at-start-6.png)
3。以下の VBA コードを新しいモジュールにコピー&ペーストします。
VBA:セルの末尾に追加
Sub AppendToExistingOnRight()
Dim c As Range
For Each c In Selection
If c.Value <> "" Then c.Value = c.Value & "Kg"
Next
End Sub | 注意:コードスクリプト内で、Kgは選択したセルの末尾に追加したいテキストです。必要に応じて変更してください。 |

4。F5キーを押すか、実行ボタン
をクリックして、ウィンドウ内で VBA コードを実行します。
これで、「Kg」というテキストが各セルの末尾に追加されました。
多くの場合、セルの先頭や末尾にテキストを追加するのは簡単ですが、セルの中間位置にテキストを挿入するのはやや難しく感じられるかもしれません。たとえば、以下のスクリーンショットのように、範囲 B3:B7 の各セルにおいて、2 文字目の直後にコロン(:)などの区切り文字を追加したい場合などが該当します。
この作業のための数式を4 つご用意しました。お好みのものを選んで、ぜひご利用ください。
数式1:LEFT 関数と RIGHT 関数を組み合わせる
LEFT(セル、 n) & 「テキスト」 & RIGHT(セル、 LEN(セル) -n)
数式2:CONCATENATE(または CONCAT)、RIGHT、LEN 関数を組み合わせる
CONCATENATE(LEFT(セル、 n)、 「テキスト」、 RIGHT(セル、 LEN(セル) -n))
または
CONCAT(LEFT(セル、 n)、 「テキスト」、 RIGHT(セル、 LEN(セル) -n))
数式3:REPLACE 関数
REPLACE(セル、 n+1, 0, 「テキスト」)
これらの汎用的な数式において、「セル」はテキストを挿入したい位置に対応するセル参照を、「テキスト」はそのセルに追加する文字列を、「n」はテキストの何文字目の後に新しいテキストを挿入するかを示す数値を表します。
上記の課題を解決するには、以下の数式をご活用ください。
LEFT 関数と RIGHT 関数を組み合わせる
=LEFT(B3, 2) & ":" & RIGHT(B3, LEN(B3) -2)または=LEFT(B3, 2) & $E$3 & RIGHT(B3, LEN(B3) -2)
CONCATENATE(または CONCAT)、RIGHT、LEN 関数を組み合わせる
=CONCATENATE(LEFT(B3, 2), ":", RIGHT(B3, LEN(B3) -2))または=CONCAT (LEFT(B3, 2), ":", RIGHT(B3, LEN(B3) -2))
REPLACE 関数
=REPLACE(B3, 2+1, 0, ":")または=REPLACE(B3, 2+1, 0, $E$3)
Enterキーを押して結果を取得し、その後、オートフィルハンドルを下にドラッグして、範囲 B3:B7 の各セルの2 文字目の後に適用します。
| 注意:テキストは二重引用符で囲む必要があります。囲まないと、数式はエラー値 #NAME? を返します。セル参照を使用してテキストを指定する場合は、絶対参照を使用してください。相対参照を絶対参照に変更するには、F4 キーを押します。 |
3.2 フラッシュフィルを使用して文字列の n 文字後に追加
Excel 2013 以降のバージョンをご利用の場合、フラッシュフィル機能により、入力済みの上位セルに基づいて自動的にセルが埋められます。
元データの最初のセルの隣にあるセルを選択し、以下のように2 文字目の後にコロンを含んだ最初のデータを手動で入力します。
その後、最初の結果の下にあるセルをアクティブにして、Ctrl+Eキーを押してフラッシュフィルコマンドを実行すると、アクティブセルより下のすべてのセルが自動的に埋められます。
| 注意:Mac システムをご利用の場合は、Command + E キーを押してください。 |
この作業は VBA コードでも実現できます。
1。Alt+F11キーを押すと、Microsoft Visual Basic for Applicationsウィンドウが開きます。
2。表示されたウィンドウで、挿入>標準モジュールをクリックして、新しい空白のモジュールを挿入してください。![[挿入]>[標準モジュール]をクリックして新しい空白モジュールを挿入](http://cdn.extendoffice.com/images/stories/doc-excel/add-text-number-to-cell/doc-add-at-start-6.png)
3。以下の VBA コードを新しいモジュールにコピー&ペーストしてください。
VBA:セルの中間に追加
Sub AddToMidduleOfString()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
Rng.Value = VBA.Left(Rng.Value, 2 & ":" & VBA.Mid(Rng.Value, 3, VBA.Len(Rng.Value) - 1)
Next
End Sub | 注意:コードスクリプト内で、2は、テキストを追加する位置を指定する数値です。2は、挿入位置と追加するテキストの長さの合計を表します。別の例として、「A B」という文字列の1 文字目の後に「and」を追加する場合、スクリプトは次のようになります。Rng.Value = VBA.Left(Rng.Value,)1) & "and":は追加したいテキストであり、314 |

4。F5キーを押すか、ウィンドウ内の実行ボタン
をクリックして VBA コードを実行すると、テキストを追加するセルを選択するダイアログが表示されます。
5。OKをクリックすると、範囲 B19:B23 の各セルの2 文字目の後に「:」が追加されます。
数式や VBA に疲れてしまったら、強力で便利なツールKutools for Excelをお試しください!このツールにはテキストの追加機能が搭載されています。
このテキストの追加機能では、以下の操作が可能です。
- テキストの追加最初の文字の前
- テキストの追加最後の文字の後
- 指定位置にテキストの追加を追加
- 拡張機能
テキストの追加大文字の前
テキストの追加小文字の前
テキストの追加大文字と小文字の前
テキストの追加数字の前
テキストを追加したいセルを選択し、Kutools > テキスト > テキストの追加をクリックして、テキストの追加機能を適用します。
4.1 テキストの追加:最初の文字の前または最後の文字の後に挿入
テキストの追加ダイアログで、「テキスト」テキストボックスにセルに追加したいテキストを入力し、「位置」セクションでテキストをチェックして、位置を最初の文字の前に設定します。
適用またはOKをクリックして、追加を完了してください。![[適用]または[OK]をクリックして結果を取得](http://cdn.extendoffice.com/images/stories/doc-excel/add-text-number-to-cell/doc-add-text-4.png)
テキストをセルの最後の文字の後に追加するには、「テキスト」テキストボックスに追加したいテキストを入力し、「位置」セクションでテキストをチェックしてください。最後の文字の後位置。
適用またはOKをクリックして、追加を完了してください。![[適用]または[OK]をクリックして結果を取得](http://cdn.extendoffice.com/images/stories/doc-excel/add-text-number-to-cell/doc-add-text-6.png)
場合によっては、セルの中央にテキストを追加したり、セル内の複数の位置にテキストを挿入したいことがあります。たとえば、以下のスクリーンショットのように、社会保障番号の3 桁目と7 桁目の後に区切り文字「-」を挿入するようなケースです。
テキストの追加ダイアログで、テキストテキストボックスにテキストを入力し、指定するオプションをオンにして、コンマ区切りで位置をテキストボックスに入力した後、OKまたは適用をクリックします。
通常の位置(先頭、末尾、指定位置)へのテキスト追加に加え、テキストの追加ユーティリティは、さらに多彩なテキスト追加にも対応しています。
- 大文字の前
- 小文字の前
- 大文字と小文字の前
- 数字の前
テキストの追加ダイアログで、テキストテキストボックスにテキストを入力し、次の場合のみ追加オプションをオンにして、下のドロップダウンメニューをクリックして必要な操作を選択してください。

テキストの追加機能以外にも、Kutools for Excel にはExcel でのさまざまな作業を支援するその他の300+便利な機能が備わっています。今すぐ無料でダウンロードしてください。
このセクションでは、Excel で特定のテキストが最初に出現する前または後にテキストの追加するための数式を紹介します。
たとえば、以下のスクリーンショットのように、セル内の最初の「price」テキストの前に「(sale)」を追加したいとします。
Excel では、REPLACE 関数や SUBSTITUTE 関数を使ってこの作業を簡単に実行できます。
REPLACE 関数
REPLACE(セル,FIND(「検索テキスト」、セル)、0、「追加テキスト」)
SUBSTITUTE 関数
SUBSTITUTE(セル、「検索テキスト」、「置換テキスト」、1)
このケースでは、上記の数式を次のようにご活用ください。
=REPLACE(B4,FIND(「price」,B4),0,「(sale)」)
または
=SUBSTITUTE(B4,「price」,「(sale)price」,1)
このケースにおける数式の引数は、次のとおりです。
セル: B4、
検索テキスト: price、
追加テキスト: (sale)、
置換テキスト: (sale)price。
Enterキーを押して最初の追加結果を取得し、必要に応じてオートフィルハンドルをドラッグして他のセルにも適用しましょう。
たとえば、以下のスクリーンショットのように、セル内の最初のコロン「:」の後に通貨記号「$」を追加したい場合があります。
Excel では、REPLACE 関数と SUBSTITUTE 関数を使ってこの作業を簡単に実行できます。
REPLACE 関数
REPLACE(セル,FIND(「検索テキスト」、セル)、検索テキストの長さ、「置換テキスト」)
SUBSTITUTE 関数
SUBSTITUTE(セル、「検索テキスト」、「置換テキスト」)
このケースでは、上記の数式を次のようにご活用ください。
=REPLACE(B12,FIND(":",B12),1,「:$」)
または
=SUBSTITUTE(B12,":",「:$」)
このケースで使用する数式の引数は、次のとおりです。
セル: B12、
検索テキスト: :、
置換テキスト::$。
検索テキストの長さ: 1
Enterキーを押して最初の補完結果を取得し、必要に応じてオートフィルハンドルをドラッグして他のセルにも適用してください。
このチュートリアルでは、セル内の各単語の前または後に文字を追加する方法として、数式・検索と置換・ VBA の3 つのアプローチをご紹介します。
| 各単語の前に文字を追加 |
![]() |
| 各単語の後に文字を追加 |
![]() |
SUBSTITUTE 関数を使えば、この作業を簡単に実行できます。一般的な数式は次のとおりです。
各単語の前に追加
「文字」&SUBSTITUTE(文字列、 「 」、「 文字」)
各単語の後に追加
SUBSTITUTE(文字列、「 」、「文字 」)&「文字」
B3:B6 のリスト内のすべての単語の前に「+」を追加するには、次の数式をご利用ください。
=「+」&SUBSTITUTE(B3, " "," +")
Enterキーを押して最初の結果を取得し、オートフィルハンドルを下にドラッグすれば、すべての結果が瞬時に手に入ります!
B11:B14 のリスト内の各単語の後に「($)」を追加するには、次の数式を使用してください。
=SUBSTITUTE(B11,「 」,「($) 」)&「($)」
Enterキーを押して最初の結果を表示し、オートフィルハンドルを下にドラッグすれば、すべての結果が一気に取得できます!
最初の単語を除く各単語の前に文字を追加したい場合や、最後の単語を除く各単語の後に文字を追加したい場合(以下のスクリーンショット参照)は、Excel に標準搭載されている検索と置換機能を使えば、簡単に実現できます。
最初の単語を除く各単語の前に追加
最後の単語を除く各単語の後に追加最後のセルを選択する
1。各単語の前または後に文字を追加したいセルを選択し、Ctrl+Hキーを押して、検索と置換ダイアログを表示します。
2。検索する文字列テキストボックスに半角スペースを入力し、置換後の文字列テキストボックスにスペース付きの新しい文字列を入力してから、最後にすべて置換ボタンをクリックします。
| 操作 | 一般 | 例 |
| 各単語の前に文字を追加 | 新しい文字をスペースの後に追加 | 各単語の前に(sale)を追加 |
![[検索と置換]ダイアログボックスでオプションを指定](http://cdn.extendoffice.com/images/stories/doc-excel/add-text-number-to-cell/doc-add-before-each-word-5.png)

| 操作 | 一般 | 例 |
| 各単語の後に文字を追加 | 新しい文字の後にスペースを追加 | 各単語の後に-を追加 |
![[検索と置換]ダイアログボックスでオプションを指定](http://cdn.extendoffice.com/images/stories/doc-excel/add-text-number-to-cell/doc-add-before-each-word-6.png)

ここでは、各単語の前または後に文字を追加するための2 つの VBA コードをご紹介します。以下の手順に従って、コードを実行してください。
1。Alt+F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。
2。表示されたウィンドウで、挿入 > 標準モジュールをクリックして、新しい空白のモジュールを挿入します。![[挿入]>[標準モジュール]をクリックして新しい空白モジュールを挿入](http://cdn.extendoffice.com/images/stories/doc-excel/add-text-number-to-cell/doc-add-before-each-word-9.png)
3。以下の VBA コードをコピーし、モジュールに貼り付けます。
すべての単語の前に追加
Sub InsertCharBeforeWord()
'UpdateByExtendOffice
Dim ws As Worksheet
Dim xRg As Range
Dim xSRg As Range
Dim xCell As Range
Dim xInStr As String
Dim xArr As Variant
Dim xValue As String
On Error Resume Next
Set xSRg = Application.Selection
Set xRg = Application.InputBox("Select cells(continuous):", "Kutools for Excel", xSRg.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
xInStr = Application.InputBox("Type characters you want to add:", "Kutools for Excel", "", , , , , 2)
If StrPtr(xInStr) = 0 Then Exit Sub
Application.ScreenUpdating = False
For Each xCell In xRg
xArr = Split(xCell.Text, " ")
xValue = ""
For Each xStr In xArr
If Trim(xStr) <> "" Then
If xValue = "" Then
xValue = xInStr & Trim(xStr)
Else
xValue = xValue & " " & xInStr & Trim(xStr)
End If
End If
Next
xCell.Value = xValue
Next
Application.ScreenUpdating = True
End Sub すべての単語の後に追加
Sub InsertCharAfterWord()
'UpdateByExtendOffice
Dim ws As Worksheet
Dim xRg As Range
Dim xSRg As Range
Dim xCell As Range
Dim xInStr As String
Dim xArr As Variant
Dim xValue As String
On Error Resume Next
Set xSRg = Application.Selection
Set xRg = Application.InputBox("Select cells(continuous):", "Kutools for Excel", xSRg.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
xInStr = Application.InputBox("Type characters you want to add:", "Kutools for Excel", "", , , , , 2)
If StrPtr(xInStr) = 0 Then Exit Sub
Application.ScreenUpdating = False
For Each xCell In xRg
xArr = Split(xCell.Text, " ")
xValue = ""
For Each xStr In xArr
If Trim(xStr) <> "" Then
If xValue = "" Then
xValue = Trim(xStr) & xInStr
Else
xValue = xValue & " " & Trim(xStr) & xInStr
End If
End If
Next
xCell.Value = xValue
Next
Application.ScreenUpdating = True
End Sub 4。F5キーを押してコードを実行します(または)実行ボタン
をクリックしてもかまいません)。連続したセル範囲の選択を促すダイアログが表示されるので、OKをクリックします。
5。2 つ目のダイアログで追加したい文字を入力し、OKをクリックしてください。
すると、指定した文字が各単語の先頭または末尾に自動的に追加されます。
場合によっては、すべての文字の間にテキストを追加したいことがあります。このセクションでは、2 つのシナリオをご紹介します。1 つはすべての文字の間にテキストを追加する方法、もう1 つは各数字の間にスペースを挿入する方法です。
文字列内のすべての文字の間に特定の文字を挿入するには、ユーザー定義関数を利用できます。
この例では、すべての文字の間にスペースを挿入します。
1。Alt+F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを表示します。
2。表示されたウィンドウで、挿入 > 標準モジュールをクリックして、新しい空白のモジュールを挿入します。![[挿入]>[標準モジュール]をクリックして新しい空白モジュールを挿入](http://cdn.extendoffice.com/images/stories/doc-excel/add-text-number-to-cell/doc-add-before-each-word-9.png)
3。以下の VBA コードをモジュールにコピー&ペーストしてください。
文字の間にテキストの追加
Function AddText(Str As String) As String
Dim i As Long
For i = 1 To Len(Str)
AddText = AddText & Mid(Str, i, 1) & " "
Next i
AddSpace = Trim(AddSpace)
End Function 4。コードを保存してこのウィンドウを閉じ、ワークシートに戻ったら、追加結果を表示したいセルに次の数式を入力します。
=AddText(B3)
B3 は、文字の間にスペースを挿入したい文字列が含まれるセルです。
Enterキーを押して結果を取得し、必要に応じてオートフィルハンドルを他のセルにドラッグしてください。
| 注意: 1)VBA コード内で、「 」を必要に応じて他のテキストに変更できます。たとえば、"-"に変更すると、文字の間に「-」が挿入されます。2)このコードはすべての文字の後に新しいテキストを追加します。必要ない場合は、以下の数式を使用して最後のテキストの追加を削除できます。数式の詳細については、次のページをご覧ください: Excel でセルや文字列の先頭または末尾から N 文字を削除する方法? LEFT(セル,LEN(セル)-テキストの長さ) |
数値を含む文字列の数字の間にスペースを挿入したい場合は、TEXT 関数をご利用いただけます。
| 注意:スペースを挿入したい範囲の数値はすべて同じ桁数である必要があります。そうでない場合、一部の結果が正しくない可能性があります。 |
B10:B12 の範囲に8 桁の数字がリストされているとします。結果を表示したいセルにカーソルを置き、次の数式を入力してください。
=TEXT(B10,「# # # # # # # #」)
Enterキーを押して、オートフィルハンドルを他のセルにドラッグします。
数字の桁数が5 桁の場合、数式は=TEXT(B10,「# # # # #」)のように変更されます。
すべての単語の間に文字(複数可)を追加したい場合、たとえば以下のスクリーンショットのように、「first」「middle」「姓」の間にスペースを挿入するには、ユーザー定義関数をご利用いただけます。
1。Alt+F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを表示します。
2。表示されたウィンドウで、挿入 > モジュールをクリックして、新しい空白のモジュールを挿入します。
3。以下の VBA コードをモジュールにコピー&ペーストしてください。
単語の間に文字を追加する
Function AddCharacters(pValue As String) As String
'UpdatebyExtendoffice20160908
Dim xOut As String
xOut = VBA.Left(pValue, 1)
For i = 2 To VBA.Len(pValue)
xAsc = VBA.Asc(VBA.Mid(pValue, i, 1))
If xAsc >= 65 And xAsc <= 90 Then
xOut = xOut & " " & VBA.Mid(pValue, i, 1)
Else
xOut = xOut & VBA.Mid(pValue, i, 1)
End If
Next
AddCharacters = xOut
End Function 4。コードを保存して「このウィンドウを閉じる」をクリックし、ワークシートに戻ったら、結果を表示したいセルに以下の数式を入力してください。
=AddCharacters(B3)
B3 は、単語の間にスペースを挿入したい文字列が含まれるセルです。
5。Enterキーを押して結果を取得し、必要に応じてオートフィルハンドルをドラッグして他のセルにも適用してください。
| 注意:VBA コード内で、「 」を必要に応じて他のテキストに変更できます。たとえば、"-"を変更して単語間に-を追加できます。 |
以下のスクリーンショットのように、テキストと数字の間に特定の文字(複数可)を挿入する方法を、ここでは2 つご紹介します。
9.1 数式を使用してテキストと数字で分割の間に文字を追加する
テキストが数字の前にある場合、汎用的な数式は次のとおりです。
TRIM(REPLACE(string,MIN(FIND({1,2,3,4,5,6,7,8,9,0},string&"1234567890")),0,"-"))
上記の例を使用する場合は、次のように数式を入力してください。
=TRIM(REPLACE(B4,MIN(FIND({1,2,3,4,5,6,7,8,9,0},B4&"1234567890")),0,"-"))
Enterキーを押して最初の結果を取得し、その後、オートフィルハンドルをドラッグしてこの数式を他のセルにコピーします。
数字がテキストの前にある場合、汎用的な数式は次のとおりです。
LEFT(string,SUM(LEN(string)-LEN(SUBSTITUTE(string,{0,1,2,3,4,5,6,7,8,9},「」))))&"."&RIGHT(string,LEN(B13)- SUM(LEN(string)-LEN(SUBSTITUTE(string, {0,1,2,3,4,5,6,7,8,9}, 「」))))
上記の例を使用する場合は、次のように数式を入力してください。
=LEFT(B13,SUM(LEN(B13)-LEN(SUBSTITUTE(B13,{0,1,2,3,4,5,6,7,8,9},「」))))&"."&RIGHT(B13,LEN(B13)- SUM(LEN(B13)-LEN(SUBSTITUTE(B13, {0,1,2,3,4,5,6,7,8,9}, 「」))))
Enterキーを押して最初の結果を取得し、その後、オートフィルハンドルをドラッグしてこの数式を他のセルにコピーします。
9.2 フラッシュフィルを使用してテキストと数字で分割の間に文字を追加する
Excel 2013 以降のバージョンをご利用の場合、フラッシュフィル機能が、テキストと数字を分割する際に文字(複数可)を追加するのに役立ちます。
元のデータの隣に、テキストと数字を区切る文字(複数可)を挿入した新しいデータを入力し、Enter キーを押して最初の結果の次のセルに移動します。
次に、Ctrl+Eキーを押して、フラッシュフィルを有効にしてください。
拡張機能
このチュートリアルでは、日常生活や仕事で実際に遭遇する可能性のあるテキスト追加のシナリオをいくつかご紹介します。
場合によっては、以下スクリーンショットのように、シリアル番号や社会保障番号など、一連の数字にダッシュなどの区切り文字を追加する必要があります。数百もの番号に手作業で区切り文字を挿入するのは非常に手間がかかります。そこで、この作業を素早く効率的に行うための3 つの便利な方法をご紹介します。
数字にダッシュを素早く追加できる数式が2 つあります。セル B3 の3 桁目と6 桁目の後にダッシュを追加するには、次のように数式を入力してください。
REPLACE 関数
=REPLACE(REPLACE(B3,4,0,"-"),8,0,"-")
TEXT 関数
=TEXT(B3,「???-???-??? 」)
Enterキーを押して最初の結果を取得し、その後、オートフィルハンドルを他のセルにドラッグします。
注意: 上記の数式の引数は必要に応じてカスタマイズ可能です。たとえば、2 桁目、4 桁目、6 桁目の後に"-"を追加したい場合は、次のように数式を使用します: =REPLACE(REPLACE(REPLACE(B3,3,0,"-"),6,0,"-"),9,0,"-") =TEXT(B3,「??-??-??-??? 」) |
元のセル内の数字に直接ダッシュを追加するには、セルの書式設定機能をご活用ください。
1。ダッシュを追加したい数値を選択し、Ctrl+1キーを押して、セルの書式設定ダイアログを表示します。
2。セルの書式設定ダイアログで、数値タブの分類セクションからユーザー設定を選択します。
3。右側の種類セクションのテキストボックスに###-###-###と入力して、OKをクリックします。
これで、選択した数字にダッシュが追加されました。
10.3 Kutools for Excel のテキストの追加で電話番号にダッシュを追加する
Excel にKutools for Excelがインストールされているなら、テキストの追加機能がこの作業をさらにスムーズにサポートします!
1。ダッシュを追加したい数字を含むセルを選択し、Kutools>テキスト>テキストの追加をクリックします。![[Kutools]>[テキスト]>[テキストの追加]をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/add-text-number-to-cell/doc-add-dashes-to-numbers-5.png)
2。テキストの追加ダイアログで、テキストテキストボックスにダッシュやその他の区切り文字を入力し、指定オプションを選択して、ダッシュを挿入したい位置をカンマ区切りで下のテキストボックスに入力してください。
3。OKまたは[適用]をクリックすると、選択した数字にダッシュが追加されます。
桁数が異なる数字のリストを、以下のスクリーンショットのように先頭にゼロを付けて統一し、見やすくしたい場合があります。ここでは、そのための2 つの方法をご紹介します。
セルの桁数を固定し、先頭にゼロを追加するには、セルの書式設定のカスタム形式機能をご利用ください。
1。先頭にゼロを追加したいセルを選択し、Ctrl+1キーを押して、セルの書式設定ダイアログを表示します。
2。セルの書式設定ダイアログで、数値タブの分類セクションからユーザー設定を選択します。
3。右側の種類セクションのテキストボックスに0000と入力します(数字を4 桁固定にするには「0000」と入力してください。5 桁など他の桁数にしたい場合は、「00000」のように対応する個数のゼロを入力できます)。その後、OKをクリックします。
これで数字の先頭にゼロが付加され、すべて同じ桁数になりました。
| 注意:元のデータの長さが設定された長さを超える場合、先頭ゼロなしで元のデータが表示されます。 |
元のデータを変更したくない場合は、別のセルに数式を使って数字の先頭にゼロを追加できます。
この作業をサポートする関数が3 つあります。
数式1 TEXT 関数
TEXT(数値、「00…」)
数式2 RIGHT 関数
RIGHT(「00…」&数値,桁数)
数式3 BASE 関数
BASE(数値,10,桁数)
数式に含まれるゼロの個数は、その数字の桁数と一致します。
ここでは数字の桁数を4 桁に設定するものとし、以下の数式をご利用ください。
=TEXT(B10,"0000")
=RIGHT("0000"&B10,4)
=BASE(B10,10,4)
Enterキーを押した後、オートフィルハンドルを下にドラッグします。
| 注意元のデータの長さが設定された長さを超える場合、先頭のゼロを付けずに元のデータが表示されます。 |
数値の末尾にゼロを追加して固定長にする場合(たとえば、下のスクリーンショットのようにセル B3:B7 の数値を5 桁の固定長にしたい場合)、その処理に数式を活用できます。
REPT 関数
number&REPT("0",length-LEN(number))
この数式では、引数「number」は末尾にゼロを追加したい数値またはセル参照を表し、引数「length」は設定する固定長を指定します。
以下の数式を使用してください:
=B3&REPT("0",5-LEN(B3))
Enter キーを押して、オートフィルハンドルを下方向にドラッグし、この数式を必要なセルに適用します。
ワークシートからメモ帳にデータをエクスポートまたはコピーする際、セルの値の長さが異なるため、テキストが整然と並ばないことがあります。下のスクリーンショットのように整った見た目に仕上げるには、末尾にスペースを追加する必要があります。
この作業を解決するには、REPT 関数が役立ちます。
LEFT(text & REPT(「 」,max_length),max_length)
この数式では、引数「text」には末尾にスペースを追加したいテキストまたはセル参照を指定し、引数「max_length」にはテキストを統一する固定長(使用するテキストの最大文字数以上)を指定する必要があります。
セル B3:C6 のテキストに末尾スペースを追加するには、以下の数式を使用してください:
=LEFT(B3 & REPT(「 」,10),10)
Enter キーを押して、オートフィルハンドルを必要なすべてのセルにドラッグします。
このケースでは、使用されているテキストの最長が9 文字のため、ここでは10 を使用しています。
場合によっては、下のスクリーンショットのように、セル内のテキストや数値の前後に引用符や括弧を追加する必要があります。手作業で1 つずつ入力する以外にも、Excel にはこれを素早く処理できる2 つの方法があります。
元のデータ内のテキストの前後に引用符を追加したい場合は、Excel のセルの書式設定機能が便利です。
1。引用符を追加したいセルを選択し、Ctrl+1キーを押して、セルの書式設定ダイアログを表示します。
2。セルの書式設定ダイアログで、数値タブの分類リストからユーザー定義を選択し、右側の種類テキストボックスに「''」@「''」と入力して、OKをクリックします。
選択したセル内のテキストの前後に引用符が追加されました。
テキストの前後に括弧を追加したい場合は、セルの書式設定ダイアログの[種類]テキストボックスに(@)と入力します。
他のセルのテキストに引用符を追加するためにも数式を使用できます。
&演算子を使用
「」「」&text&「」「」
または
char(34)&text&char(34)
ここではセル B11 のテキストを使用するものとして、以下の数式を適用してください:
=「」""&B11&""""
または
=char(34)&B11&char(34)
Enter キーを押して、オートフィルハンドルを下方向にドラッグし、セルを埋めましょう。
テキストの前後に括弧を追加したい場合は、「(」&text&「)」という数式をご利用ください。
この作業を VBA コードで処理したい場合は、以下の VBA をご利用ください。
1。Alt+F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを表示します。
2。表示されたウィンドウで、挿入 > 標準モジュールをクリックして、新しい空白のモジュールを挿入します。
3。以下の VBA コードを新しいモジュールにコピー&ペーストします。
VBA:テキストの前後に引用符を追加
Sub addquotationmarksorbrackets()
'UpdatebyExtendOffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
Rng.Value = """" & Rng.Value & """"
Next
End Sub | 注意:コードスクリプト内で、「」「」 & Rng.Value & 「」「」はテキストの前後に「」を追加することを示しています。テキストの前後に括弧()を追加したい場合は、これを「(」 & Rng.Value & 「)」に変更してください。 |

4。F5キーを押すか、ウィンドウ内の実行ボタン
をクリックして VBA コードを実行すると、引用符を追加するセルを選択するダイアログが表示されます。
5。OKをクリックすると、選択したセル内のテキストの前後に引用符が追加されます。
他のユーザーがデータをよりよく理解できるようにするため、下のスクリーンショットのように数式の結果にテキストの追加を含める必要がある場合があります。数式内にテキストを含めるには、テキストを二重引用符で囲み、&演算子でテキストと数式を結合します。
ケース1 数式の前にテキストの追加を追加
「Today is 」&TEXT(TODAY(),「dddd, mmmm dd.」)
ケース2 数式の後にテキストの追加を追加する場合
TEXT(NOW(),「HH:MM:SS」)&「 is the current time.」
ケース3 数式の両側にテキストの追加を追加
「Today sold 」&data&「 kg.」
その他のExcel チュートリアル: |
複数のブック/ワークシートを1 つに統合する テキスト・数値・日付のセルを分割する(複数列に分ける) Excel で複数セルの内容をデータを失うことなく結合する Excel で2 つの列を比較して一致と相違を確認する |
最高のオフィス生産性ツール
Kutools for Excel は、あなたの課題のほとんどを解決し、生産性を80% 向上させます
- スーパー数式バー(複数行のテキストや数式を簡単に編集可能);リーディングレイアウト(多数のセルを簡単に読み書き可能);フィルタリング範囲に貼り付け…
- 結合セル/行/列とデータ保持;セルの分割コンテンツ;重複行を結合して合計/平均を計算…重複の入力を防止セル;範囲を比較…
- 重複または一意の行を選択;空白行を選択(すべてのセルが空);スーパー検索とあいまい検索多数のワークブック内で実行;ランダム選択…
- 正確にコピー複数セルを数式参照を変更せずに移動;複数シートへの参照を自動作成;箇条書きの挿入、チェックボックスなど…
- お気に入りの数式を保存して素早く挿入、範囲、チャート、画像;セルの暗号化パスワード付きで保護;メーリングリストの作成メール送信など…
- テキストの抽出、テキストの追加、特定の位置の文字を削除、スペースを削除;データページ統計を作成・印刷;セルの内容とコメントを相互変換…
- スーパーフィルター(フィルタースキームを保存し、他のシートに適用可能);高度なソート月/週/日、頻度などでグループ化;特殊フィルタ太字、イタリック体などで強調表示…
- ワークブックとワークシートを統合;テーブルのマージをキーカラムに基づいてマージ;データの分割を複数のシートに分割;xls、xlsx、PDF を一括変換…
- PivotTable を以下でグループ化:週番号、曜日など…ロック解除済みセルと選択範囲をロックを異なる色で表示;数式/名前を持つセルをハイライト表示…

- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効化。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 生産性が50%向上し、毎日数百回のマウスクリックを削減できます!



