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

Excelで文字の最初、最後、またはn番目の出現を見つける方法は?

文字「-」を含む次のテキスト文字列のリストがあり、文字「-」の最後またはn番目の出現を取得したい場合、この問題に対処するための良いアイデアはありますか?


数式を使用して最後に出現する文字を検索する

特定の文字の最後の位置を見つけるのに役立つ数式を次に示します。次のようにしてください。

1。 テキスト文字列の横に、次の数式のいずれかを空白のセルに入力またはコピーしてください。

=SEARCH("^^",SUBSTITUTE(A2,"-","^^",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))
=LOOKUP(2,1/(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)="-"),ROW(INDIRECT("1:"&LEN(A2))))

2。 次に、塗りつぶしハンドルをこの数式を適用する範囲にドラッグすると、特定の文字「-」が最後に出現します。スクリーンショットを参照してください。

注: 上記の式では、 A2 使用するセル値を示します。 そして「-」は、最後の位置を取得したい特定の文字を表します。必要に応じて、他の文字に変更できます。


ユーザー定義関数を使用して最後に出現する文字を検索します

最後の文字「-」の位置を取得するには、次のようにユーザー定義関数を作成することもできます。

1。 使用するワークシートを開きます。

2。 を押し続けます Alt + F11 キーを押して Microsoft Visual Basic forApplicationsウィンドウ.

3。 次に、をクリックします インセット > モジュール、次のマクロをに貼り付けます モジュールウィンドウ.

VBAコード:最後に出現する文字を見つける

Function LastpositionOfChar(strVal As String, strChar As String) As Long
LastpositionOfChar = InStrRev(strVal, strChar)
End Function

4。 次に、このコードを保存して閉じ、ワークシートに戻って、この数式を入力します = lastpositionofchar(A2、 "-") データの横の空白のセルに、スクリーンショットを参照してください。

5。 次に、塗りつぶしハンドルをこの数式を適用する必要のある範囲にドラッグすると、次のスクリーンショットのように、最後の文字「-」の出現がテキスト文字列から抽出されています。

Note:上記の式では: A2 使用するデータを含むセルであり、「-」は最後の位置を見つけるために必要な文字です。必要に応じて変更できます。


式を使用して、文字の最初またはn番目の出現箇所を検索します

特定の文字のXNUMX番目またはn番目の位置を取得するには、次の式を適用してください。

1。 以下の数式を入力するか、結果を入力する空白のセルにコピーして、を押します。 入力します 最初の結果を得るための鍵:

=FIND(CHAR(160),SUBSTITUTE(A2,"-",CHAR(160),2))

2。 次に、塗りつぶしハンドルをこの数式を適用するセルまでドラッグすると、XNUMX番目の「-」文字の位置が計算されます。スクリーンショットを参照してください。

注: 上記の式では、 A2 使用するセル値を示します。-」は、位置を取得したい特定の文字、数字を表します 2 取得したい文字の指定されたオカレンスを表します。


簡単な機能で特定の文字の最初またはn番目の出現を見つける

Kutools for Excelさん 文字列のN番目に文字が表示される場所を見つける ユーティリティを使用すると、最初またはn番目の特定の文字の位置をすばやく簡単に取得できます。

注:これを適用する 文字列のN番目に文字が表示される場所を見つける、まず、ダウンロードする必要があります Kutools for Excel、次に機能をすばやく簡単に適用します。

インストールした後 Kutools for Excel、次のようにしてください。

たとえば、文字「-」のXNUMX番目のオカレンスを取得したい場合は、次のようにしてください。

1。 結果を配置するセルをクリックします。

2。 次に、をクリックします クツール > フォーミュラヘルパー > フォーミュラヘルパー、スクリーンショットを参照してください:

3。 の中に 数式ヘルパー ダイアログボックス:

  • 選択 見上げる オプションから    ドロップダウンリスト;
  • それから、 文字列のN番目に文字が表示される場所を見つける fromulaを選択してください リストボックス;
  • 引数入力 セクションで、使用するテキスト文字列を含むセルを選択し、位置を取得する文字を入力します。最後に、文字の位置を取得する番号を指定します。

4。 次に、をクリックします Ok ボタンをクリックし、必要に応じて次の結果を取得するために、位置を取得するセルまで塗りつぶしハンドルを下にドラッグします。

今すぐExcel用のKutoolsをダウンロードして無料トライアル!


より相対的な記事:

  • Excelで最初/最後の単語を除くすべてを抽出する
  • セルからすべての単語を抽出しますが、最初または最後の単語は、必要な不要な単語を削除するのに役立ちます。この場合、もちろん、必要な単語をコピーして、別のセルにXNUMXつずつ貼り付けることができます。 ただし、最初または最後の単語を除いて複数のセル値を抽出する必要がある場合、これは退屈になります。 Excelの最初または最後を除くすべての単語をすばやく簡単に抽出するにはどうすればよいですか?
  • セル内で右から左に文字を抽出する
  • この記事では、Excelワークシートで次の結果を取得するために、スペースに達するまでセル内の文字を右からプルまたは抽出する方法について説明します。 この記事の便利な式は、この仕事をすばやく簡単に解決できます。
  • 最初、最後のX文字または特定の位置文字を削除します
  • この記事では、Excelワークシートで次の結果を取得するために、スペースに達するまでセル内の文字を右からプルまたは抽出する方法について説明します。 この記事の便利な式は、この仕事をすばやく簡単に解決できます。
  • 最初の小文字の位置を見つける
  • 大文字と小文字の両方を含むテキスト文字列のリストがある場合は、Excelワークシートでそれらの最初の小文字の位置を知りたいと思います。 XNUMXつずつ数えずに、どうすればすばやく結果を得ることができますか?

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

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Using LET to define variables. 
Find Last occurrence of;
=LET(strFind,"-",strFlag,"¤",FIND(strFlag,SUBSTITUTE(A2,strFind,strFlag,LEN(A2)-LEN(SUBSTITUTE(A2,strFind,""))),1))
Text to right of;
LET(strTarget,A2,strFind,"-",strFlag,"¤",RIGHT(strTarget,LEN(strTarget)-FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1)))
This gives an error if strFind is not in the target. This can be solved by wrapping FIND in an IFERROR. 
LET(strTarget,A2,strFind,"-",strFlag,"¤",IFERROR(FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1),0))
LET(strTarget,A2,strFind,"-",strFlag,"¤",RIGHT(strTarget,LEN(strTarget)-IFERROR(FIND(strFlag,SUBSTITUTE(strTarget,strFind,strFlag,LEN(strTarget)-LEN(SUBSTITUTE(strTarget,strFind,""))),1),0)))
This will return the existing string if strFind is not found. If this is not desired use the find separately then test for result>0.
This comment was minimized by the moderator on the site
Thank You, great work !! Best Regards Anders
This comment was minimized by the moderator on the site
Thank you for these formulas. Very helpful.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations