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

Excelで文字のn番目の出現位置を見つける – 3つの簡単な方法

Author: Xiaoyang Last Modified: 2025-05-23

Excelのテキスト文字列内で特定の文字のn番目の出現位置を見つけることは、データ分析において特に有用です。例えば、ある区切り文字やパターンに基づいて文字列を解析したり、情報を抽出する必要がある場合などです。たとえば、テキスト文字列内の「-」という文字の2回目または3回目の出現位置を見つけたいとします。ここでは、このタスクを効率的に実行するための簡単な手法を紹介します。


数式を使用して文字列内の文字のn番目の出現位置を見つける

文字のn番目の出現位置を見つけるために数式を作成できます。次の手順に従ってください:

1. 結果を得たいセルに次の数式を入力またはコピーします:

=FIND(CHAR(1),SUBSTITUTE(A2,"-",CHAR(1),2))
注釈: 上記の数式では:
  • "A2": 文字列が含まれているセル。
  • "-": 検索したい文字。
  • "2": 見つけたい2回目の出現位置で、必要に応じて3、4…に変更できます。

2. 次に、数式のフィルハンドルを下にドラッグして他のセルにも数式を適用すると、文字「-」の2回目の位置がすぐに表示されます。スクリーンショットをご覧ください:

数式の説明:
  • "SUBSTITUTE"は、文字のn番目の出現位置を非表示文字(CHAR(1))に置き換えます。
  • "FIND"は、この非表示文字を検索し、n番目の出現位置を与えます。

Kutools for Excelを使用して文字列内の文字のn番目の出現位置を見つける

数式やVBAを使用するのが好きでない場合、便利な代替手段として「Kutools for Excel」があります。その数式グループ内には、「文字列内の文字のN番目の出現位置を検索する」という便利なユーティリティがあり、これは任意の文字のn番目の位置を迅速に特定して返します。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

Kutools for Excelをインストールした後、「Kutools」>「関数ヘルパー」>「関数ヘルパー」をクリックして「関数ヘルパー」ダイアログボックスを開きます。結果を配置したいセルをクリックし、次に以下のように操作します:

  1. 「書式の種類」セクションのドロップダウンリストから「検索」を選択します;
  2. 「関数を選択」セクションで「文字列内の文字のN番目の出現位置を検索する」を選択します;
  3. 使用する文字列が含まれるセルを選択し、指定された文字とn番目の出現位置を「引数の入力」セクションのテキストボックスに入力します;
  4. 最後に、「OK」ボタンをクリックして結果を得ます。

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


ユーザー定義関数を使用して文字列内の文字のn番目の出現位置を見つける

このセクションでは、UDFを作成してExcelで文字のn番目の出現位置を見つける方法を探り、ステップバイステップのガイドを提供してデータ処理を最適化する方法を学びます。

  1. 「ALT」+「F11」キーを押すと、「Microsoft Visual Basic for Applications」ウィンドウが開きます。
  2. 「挿入」>「モジュール」をクリックし、モジュールウィンドウに次のマクロを貼り付けます。
     Function FindN(sFindWhat As String, _
    sInputString As String, N As Integer) As Integer
    'Updateby Extendoffice
    Dim J As Integer
    Application.Volatile
    FindN = 0
    For J = 1 To N
    FindN = InStr(FindN + 1, sInputString, sFindWhat)
    If FindN = 0 Then Exit For
    Next
    End Function
  3. 次に、VBAウィンドウを閉じます。ワークシートに戻り、次の数式をセルに入力し、フィルハンドルを下にドラッグして他のセルにも数式を適用します。スクリーンショットをご覧ください:
    =FindN("-",A2,3)
    A screenshot of the result after using the User Defined Function to find the nth occurrence of a character in a text string

  4. 関連記事:

    • 列内の単語の出現回数をカウントする
    • 以下のスクリーンショットに示すように、重複値を含む列データがあり、特定の単語の出現回数をカウントしたいとします。このチュートリアルでは、Excelでそれを迅速に解決するためのいくつかのコツを紹介します。
    • 文字列からn番目の文字を抽出する
    • 一般的には、特定の文字の後に続く文字列を抽出することが多いですが、今回は以下のようなスクリーンショットに示されるように、文字列からn番目の文字を抽出したいと思います。
    • 文字列から最初/最後のn文字を抽出する
    • 例えば、各セルに長い文字列を持つリストがあり、各文字列から最初のn文字だけを抽出したい場合、例えば各文字列の最初の3文字などを抽出したい場合、以下の方法を使ってExcelで解決できます。

最高のオフィス生産性ツール

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ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%向上させ、毎日数百回のマウスクリックを減らします!