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

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

Author: Xiaoyang Last Modified: 2025-08-06

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