Note: The other languages of the website are Google-translated. Back to English
ログイン  \/ 
x
or
x
今すぐ登録  \/ 
x

or

Excelでテキスト文字列の最初/最後の数字の位置を見つける方法は?

たとえば、文字と数字が混在するテキスト文字列のリストがあります。 各文字列の最初または最後の数字の位置を見つけたい場合は、どうしますか? 実際、数式を使用すると、指定したテキスト文字列の最初/最後の数字の位置をすばやく見つけることができます。 このチュートリアルでは、この問題への対処の詳細を示します。

Excelでテキスト文字列の最初の数字の位置を見つける
Excelでテキスト文字列の最後の番号の位置を検索します


Excelでテキスト文字列の最初の数字の位置を見つける


以下のスクリーンショットに示すように、テキスト文字列の最初の数字の位置を見つけるには、次のようにしてください。

1.セルB2を選択し、次の数式のいずれかをコピーして数式バーに貼り付けます。

1)。 式1: = MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}、A2& "0123456789"));

2)。 式2: =MATCH(TRUE,ABS(CODE(MID(A2,ROW($A$1:INDEX(A:A,LEN(A2))),1))-52.5)<5,0) + Ctrlキー + シフト + 入力します;

3)。 式3: =MIN(IF(ISERROR(FIND({1;2;3;4;5;6;7;8;9;0},A2)),"",FIND({1;2;3;4;5;6;7;8;9;0},A2))).

2.次に、最初の文字列の最初の数字の位置がセルB2に表示されます。 次に、塗りつぶしハンドルをセルB7までドラッグして、以下の範囲を塗りつぶします。

次に、文字列全体の最初の数字の位置がすべて一覧表示されます。


Excelでテキスト文字列の最後の番号の位置を検索します

最初の数字の位置を見つけた後、文字列の最後の数字の位置を見つけ始めます。

このセクションでは、XNUMXつの公式があります。

フォーミュラ1: = MAX(IF(ISNUMBER(VALUE(MID(A2、ROW(INDIRECT( "1:"&LEN(A2)))、1)))、ROW(INDIRECT( "1:"&LEN(A2)))) ) + Ctrlキー + シフト + 入力します;

フォーミュラ2: =MAX(IFERROR(FIND({1,2,3,4,5,6,7,8,9,0},A2,ROW(INDIRECT("1:"&LEN(A2)))),0)) + Ctrlキー + シフト + 入力します

1.セルB2を選択し、上記の数式の2つをコピーして数式バーに貼り付け、Ctrl + Shift + Enterキーを同時に押します。 次に、BXNUMXに結果が表示されます。

2. B2を選択し、塗りつぶしハンドルをセルB7までドラッグして、範囲を自動塗りつぶします。

次に、テキスト文字列全体の最後のすべての番号の位置をすぐに取得します。


ExcelでXNUMXつのセルのテキストと数値をXNUMXつの列に簡単に分離できます。

Kutools for Excelさん 分割セル ユーティリティを使用すると、セルの範囲を特定の区切り文字で行または列に分割したり、テキストと数値を分割したり、証明書の長さでテキストを分割したりできます。 今すぐダウンロードしてお試しください! (30日間の無料トレイル)


関連記事:


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

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300以上の強力な機能。 Office / Excel2007-2019および365をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 全機能30日間の無料トライアル。 60日間の返金保証。
kteタブ201905

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

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性が50%向上し、毎日何百ものマウスクリックが減ります。
officetab下部
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Mehidy Hassan · 2 months ago
    @George Many Thanks , Great
  • To post as a guest, your comment is unpublished.
    madgrappler · 1 years ago
    Thought I would let everyone know that I needed to find the last position of the house numbers in an address field in access. The only way I could do this was to export a short query to excel and run this formula. I know there is a way to get the excel functions in access but this was much easier. I had addresses that had varying house number lengths and then you throw in the 1st, 2nd, 3rd...St., Ave into the mix within the street name and you got a major problem parsing a very bad formatted address string.

    address examples 1234 nw (or NW) 4th St.
    12 West St North (or N)
    123,456, and 789 Heritage Circle (or Crc)
    123 & 456 N 1st. St

    I figured out a way to parse off the first and second example real quick with some research (I would give credit, but right now I can't remember where I got the answer). It involved creating a VBA function to accomplish it. That worked great but I came to a problem when we come to the first "," or "and" or "&".

    Using this formula in excel found the last number I needed without choosing the street number. Since most house numbers ended with a space " " between them and the direction segment or the street name segment, I added --- &" " after the find formula. Like this: in an array formula
    =MAX(IFERROR(FIND({1,2,3,4,5,6,7,8,9,0}&" ",E2,ROW(INDIRECT("1:"&LEN(E2)))),0))
    A quick export back to an access table and wala! you have the number.
    202 & 206 N Blanche Ave = 9

    Now I know I could probably parse the rest of the address in excel but it actually worked real well in Access, so I just decided to do the rest there.

    If there is a way to do it all in Access, I couldn't find it or figure it out.
  • To post as a guest, your comment is unpublished.
    Borja · 2 years ago
    goood, thanks
  • To post as a guest, your comment is unpublished.
    crystal · 2 years ago
    @Guess You are welcome O(∩_∩)O
  • To post as a guest, your comment is unpublished.
    Guess · 2 years ago
    That's what I needed =MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"));

    thank you very much!
  • To post as a guest, your comment is unpublished.
    Wajid · 2 years ago
    @Jon Adams Hats off mate..
  • To post as a guest, your comment is unpublished.
    crystal · 2 years ago
    @Francis Hi,
    Sorry can't help with this.
  • To post as a guest, your comment is unpublished.
    Francis · 2 years ago
    how to get this to work in powerpivot
  • To post as a guest, your comment is unpublished.
    Datta · 4 years ago
    @George Hi George,

    your formula is may meet my requirement.

    I need similar formula to find out digit position in the string listed in "A" row in B row

    Required output
    8
    5
    1
    4
    3
    1 3
    2
    5 5
    6
    6 1
    7
    9
    9 1
    1 6
    0
    9 3
    0 2
    7 4
    9 3
    6 5
    5 7
    4 9
    8 10
    2 10
    0 8
    1 9
  • To post as a guest, your comment is unpublished.
    LanaMadAboutExcel · 4 years ago
    .... and here I thought that I knew Excel well. Bravo!!!!!
  • To post as a guest, your comment is unpublished.
    George · 4 years ago
    And here is a formula for finding the position of the last numeric character in a string, but WITHOUT using an array formula:

    =MAX(SEARCH(CHAR(9),SUBSTITUTE("0123456789"&A1,{0,1,2,3,4,5,6,7,8,9},CHAR(9),LEN(A1)+10-LEN(SUBSTITUTE("0123456789"&A1,{0,1,2,3,4,5,6,7,8,9},"")))))-10

    The number 10 appearing in this formula, are due to the length of the constant string "0123456789", that is concatenated in this formula.
  • To post as a guest, your comment is unpublished.
    Ashabel · 4 years ago
    This was exactly what I wanted. Thank you.
  • To post as a guest, your comment is unpublished.
    Jon Adams · 5 years ago
    The function

    1). Formula 1: =MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"));

    It's absolutely what i needed and extremely cool!

    Thanks so much!

    Jon