メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

Excelで名前のセルから敬称を削除するにはどうすればよいですか?

Author Xiaoyang Last modified

日常のオフィス作業やデータクリーニングタスクでは、各人の名前に『Mr』、『Miss』、『Mrs』などの敬称が付加されたExcelリストに頻繁に遭遇するかもしれません。マーケティングキャンペーンの準備、レポートの生成、または単にデータセットの標準化のために、これらの敬称を削除して実際の名前だけを残す必要がある場合があります。例えば、『Mr. John Smith』『John Smith』に変更し、データ全体の列に対してこれを適用します。Excelでこれを効率的に実現することで、特に大規模なデータセットや敬称の形式が一貫していない場合に、手動での作業時間を大幅に節約できます。

a screenshot showing the original names with salutation and the names with salutation removed

数式を使用して名前のセルから敬称を削除する
VBAマクロを使用してまとめて敬称を削除する
Excelのフラッシュフィル機能を使用して敬称を削除する
数式を使用して敬称と名前を別々の列に分割する


数式を使用して名前のセルから敬称を削除する

Excelの数式を使用すると、名前のセルから敬称を削除する簡単な方法です。このソリューションは、すべての名前が同じパターンに従っている場合、つまり敬称が最初に来て、その後にスペースがあり、その次にフルネームが続く場合に最も適しています。この方法は高速で、追加のアドオンを必要とせず、小~中規模のリストに最適です。ただし、多言語敬称や不規則な形式に対応することはできません。

名前のセルから敬称を削除するには、以下の手順を行ってください:

1. 名前のリストの隣にある空白セル(データがセルA2から始まると仮定)に、次の数式を入力します:

=RIGHT(A2, LEN(A2) - FIND(" ",A2))

この数式は、セル内の最初のスペースを見つけて、その右側にあるすべてのテキストを抽出し、敬称を効果的に削除します。

2. 数式を確認するためにEnterキーを押します。次に、セルの右下隅にある小さな四角形(フィルハンドル)をドラッグして、必要な範囲でこの数式を列全体に適用します。

a screenshot of using the formula to get names without salutations

ヒントと注意点: 敬称がない名前(スペースがない場合)、数式はエラーを返す可能性があります。この方法を適用する前に、データに不整合がないか確認することをお勧めします。


VBAマクロを使用してまとめて敬称を削除する

大規模なデータセットの場合、または敬称の形式が不規則であったり異なる長さであったりする場合、VBAマクロを使用することが効果的な解決策です。VBAを使用すると、一度にさまざまな種類の敬称を削除でき、これは特に大規模なメーリングリストや人事データベース、あるいは手動で数式を使用するのが非現実的な状況などで便利です。

以下は、選択した範囲内の各名前の先頭から一般的な敬称(『Mr』、『Ms』、『Mrs』、『Dr』、『Prof』、『Miss』など)を削除するサンプルVBAスクリプトです。必要に応じてリストを拡張して、追加のタイトルを含めることも簡単にできます。

1. 「開発」タブをクリックし、「Visual Basic」を選択してVBAエディターを開きます。VBAエディターで「挿入」→「モジュール」に移動し、次のコードをモジュールウィンドウに貼り付けます:

Sub RemoveSalutationBulk()
    Dim WorkRng As Range
    Dim Rng As Range
    Dim cellValue As String
    Dim arrSalutations As Variant
    Dim i As Integer
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select the range to remove salutations from:", xTitleId, WorkRng.Address, Type:=8)
    
    arrSalutations = Array("Mr. ", "Mr ", "Mrs. ", "Mrs ", "Ms. ", "Ms ", "Miss ", "Dr. ", "Dr ", "Prof. ", "Prof ")
    
    For Each Rng In WorkRng
        cellValue = Rng.Value
        For i = LBound(arrSalutations) To UBound(arrSalutations)
            If InStr(1, cellValue, arrSalutations(i), vbTextCompare) = 1 Then
                cellValue = Mid(cellValue, Len(arrSalutations(i)) + 1)
                Exit For
            End If
        Next i
        Rng.Value = cellValue
    Next Rng
End Sub

2を押してください F5 または Run button 実行 ボタンをクリックしてコードを実行します。ダイアログボックスが表示され、処理したい名前を含む範囲を選択するよう求められます—適切なセルを選択して OK.

注意: このマクロは、セルの先頭にある敬称のみ削除します(大文字・小文字を区別しません)。一部の名前で特殊なタイトルが使用されている場合は、コード内のarrSalutations配列にそれらを追加できます。VBAを使用してバッチ処理を行う前に、常にデータをバックアップして望ましくない変更を防ぎましょう。


Excelのフラッシュフィル機能を使用して敬称を削除する

Excel 2013以降では、フラッシュフィル機能により、データパターンを認識して敬称を取り除くことが容易になります。これは視覚的かつインタラクティブなソリューションを好むユーザーにとって、特に直感的で迅速な方法です。データセットが大きくなく、敬称と名前の間にはっきりとした繰り返しパターンがある場合に最適です。ただし、データが非常に不規則である場合や一貫性がない場合にはうまく動作しないことがあります。

1. 名前の横に新しい列を作成します。最初のデータセルの隣のセルに(たとえば、A2が「Mr. John Smith」の場合、「John Smith」とB2に入力します—敬称を省略します)

2. B3に次の値を入力し始めます。Excelがパターンを認識すると(通常は1〜2回のエントリー後)、提案に基づいて列の残りのセルを自動的に埋めようとします。

3. 提案を受け入れるにはEnterキーを押すだけで、フラッシュフィルが自動的に列の残りの部分を完成させ、敬称を削除します。

フラッシュフィルが自動的に表示されない場合は、最後のエントリーのすぐ下のセルをクリックして、ツールバーの「データ」→「フラッシュフィル」をクリックするか、ショートカットCtrl+Eを使用して手動でアクティブ化できます。

ヒント: フラッシュフィルは不一致に敏感です。結果を確認して、特に予期しないパターンを持つ名前についてエラーがないか確認してください。この機能は自動更新されません。オリジナルの名前が変更された場合、フラッシュフィル操作を再実施する必要があります。

利点 数式を覚える必要がない、視覚的で、パターンが明確なリストには非常に速い。
制限 非常に大きなデータセットや不規則なパターンには適さず、Excel 2013以降でのみ利用可能。


数式を使用して敬称と名前を別々の列に分割する

敬称を単純に削除するのではなく、敬称と名前の残りの部分を2つの別々の列に分割したい場合は、Excelの数式でも役立ちます。この方法は、敬称を報告用や他の用途で引き続き保持する必要がある場合、例えば個別のコミュニケーションやタイトルによるセグメンテーションなどに特に便利です。数式は、敬称と名前の間に一貫して単一の固定区切り文字(スペースなど)を使用しているデータに最適です。

1. 敬称を抽出するには、次の数式を空白セル(例:C2、名前が列Aにある場合)に入力します:

=LEFT(A2, FIND(" ",A2)-1)

これにより、最初のスペースの左側にあるテキストが抽出され、敬称が分離されます。

フィルハンドルをドラッグして、必要に応じて他の行に数式をコピーします。すべての敬称が新しい列に表示されます:

a screenshot of using a formula to extract salutations from given names

2. 名前だけを抽出するには、次の空白列(例:D2)に次の数式を入力します:

=MID(A2, FIND(" ",A2)+1,1024)

この数式は、最初のスペースの後に続くすべてのテキストを取得し、それが実際の名前です。再度、フィルハンドルをドラッグして他の行に数式を適用します。

a screenshot of using another formula to extract names from given names

ヒント: 数式内の列参照(A2など)をデータの実際の位置に合わせて調整できます。名前フィールドが空欄だったり期待される形式に合わなかったりすると、数式エラーが発生する可能性があるので注意してください。

最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件でのVLookup複数値でのVLookup複数シートの検索ファジーマッチ……
高度なドロップダウンリストドロップダウンリストを素早く作成連動ドロップダウンリスト複数選択ドロップダウンリスト……
列マネージャー指定した数の列を追加列の移動非表示列の表示/非表示の切替範囲&列の比較……
注目の機能グリッドフォーカスデザインビュー強化された数式バーワークブック&ワークシートの管理オートテキスト ライブラリ日付ピッカーデータの統合セルの暗号化/復号化リストで電子メールを送信スーパーフィルター特殊フィルタ(太字/斜体/取り消し線などをフィルター)……
トップ15ツールセット12 種類テキストツールテキストの追加特定の文字を削除など)50種類以上のグラフガントチャートなど)40種類以上の便利な数式誕生日に基づいて年齢を計算するなど)19 種類の挿入ツールQRコードの挿入パスから画像の挿入など)12 種類の変換ツール単語に変換する通貨変換など)7種の統合&分割ツール高度な行のマージセルの分割など)… その他多数
Kutoolsはお好みの言語で利用可能 ― 英語、スペイン語、ドイツ語、フランス語、中国語、その他40以上の言語に対応!

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...


Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に

  • Word、Excel、PowerPointでタブによる編集・閲覧を実現
  • 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
  • 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得