Przejdź do głównej zawartości

Jak wyodrębnić liczbę tylko z ciągu tekstowego w programie Excel?


Metoda 1: Wyodrębnij liczbę tylko z ciągów tekstowych ze wzorem

Poniższa długa formuła może pomóc w wyodrębnieniu tylko liczb z ciągów tekstowych, wykonaj następujące czynności:

Wybierz pustą komórkę, w której chcesz wyodrębnić wyodrębnioną liczbę, a następnie wpisz tę formułę: = SUMPRODUCT (MID (0 & A5, LARGE (INDEX (ISNUMBER (- MID (A5, ROW (INDIRECT ("1:" & LEN (A5))))), 1)) * ROW (INDIRECT ("1:" & LEN (A5)) )), 0), ROW (POŚR. ("1:" i DŁ (A5)))) + 1, 1) * 10 ^ WIERSZ (POŚR ("1:" i DŁ (A5))) / 10), a następnie przeciągnij uchwyt wypełniania, aby wypełnić zakres wymagany do zastosowania tej formuły. Zobacz zrzut ekranu:

doc wyodrębnia tylko numery 2

Uwagi:

  • 1. A5 oznacza pierwsze dane, które chcesz wyodrębnić tylko z listy.
  • 2. Wynik zostanie wyświetlony jako 0, gdy w ciągu nie ma żadnych liczb.

Wyodrębnij liczby tylko z ciągów tekstowych:

Z Kutools dla programu Excel'S NUMERY WYCIĄGOWE funkcja, możesz szybko wyodrębnić tylko liczby z komórek ciągu tekstowego. Kliknij, aby pobrać Kutools dla programu Excel!

doc wyodrębnia tylko numery 14


Metoda 2: Wyodrębnij liczbę tylko z ciągów tekstowych z kodem VBA

Oto kod VBA, który również może wyświadczyć ci przysługę, wykonaj następujące czynności:

1. Przytrzymaj Alt + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: Wyodrębnij liczbę tylko z ciągu tekstowego:

Sub ExtrNumbersFromRange()
    Dim xRg As Range
    Dim xDRg As Range
    Dim xRRg As Range
    Dim nCellLength As Integer
    Dim xNumber As Integer
    Dim strNumber As String
    Dim xTitleId As String
    Dim xI As Integer
    xTitleId = "KutoolsforExcel"
    Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8)
    If TypeName(xDRg) = "Nothing" Then Exit Sub
    Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8)
    If TypeName(xRRg) = "Nothing" Then Exit Sub
    xI = 0
    strNumber = ""
  For Each xRg In xDRg
    xI = xI + 1
    nCellLength = Len(xRg)
    For xNumber = 1 To nCellLength
      If IsNumeric(Mid(xRg, xNumber, 1)) Then
        strNumber = strNumber & Mid(xRg, xNumber, 1)
      End If
    Next xNumber
    xRRg.Item(xI) = strNumber
    strNumber = ""
  Next xRg
End Sub

3. A następnie naciśnij F5 klucz do uruchomienia tego kodu i pojawia się okienko zachęty przypominające o wyborze zakresu tekstu, którego chcesz użyć, patrz zrzut ekranu:

doc wyodrębnia tylko numery 3

4. Następnie kliknij OK, pojawia się kolejne okno zachęty, wybierz komórkę, aby wyświetlić wynik, patrz zrzut ekranu:

doc wyodrębnia tylko numery 4

5. Nareszcie kliknij OK przycisk, a wszystkie liczby w wybranych komórkach zostały wyodrębnione jednocześnie.


Metoda 3: Wyodrębnij liczbę tylko z ciągu tekstowego za pomocą Kutools for Excel

Kutools dla programu Excel ma również potężną funkcję o nazwie NUMERY WYCIĄGOWE, dzięki tej funkcji możesz szybko wyodrębnić tylko liczby z oryginalnych ciągów tekstowych.

Kutools dla programu Excel : z ponad 300 poręcznymi dodatkami Excela, które można wypróbować bez ograniczeń w ciągu 30 dni

Po zainstalowaniu Kutools dla programu Excelwykonaj następujące czynności:

1. Kliknij komórkę poza ciągiem tekstowym, w którym umieścisz wynik, zobacz zrzut ekranu:

doc wyodrębnia tylko numery 5

2. Następnie kliknij Kutools > Funkcje Kutoolsa > Tekst > NUMERY WYCIĄGOWEzobacz zrzut ekranu:

doc wyodrębnia tylko numery 6

3, w Argumenty funkcji wybierz komórkę, z której chcesz wyodrębnić liczby z pliku Tekst pole tekstowe, a następnie wprowadź prawdziwy or fałszywy do N pole tekstowe, patrz zrzut ekranu:

doc wyodrębnia tylko numery 7

Note: argument N jest pozycją opcjonalną, jeśli wpiszesz prawdziwy, po wpisaniu zwróci liczby w postaci liczbowej fałszywy, zwróci liczby w formacie tekstowym, wartość domyślna to fałsz, więc możesz pozostawić to pole puste.

4. A następnie kliknij OK, liczby zostały wyodrębnione z wybranej komórki, a następnie przeciągnij uchwyt wypełniania w dół do komórek, do których chcesz zastosować tę funkcję, otrzymasz następujący wynik:

doc wyodrębnia tylko numery 8

Kliknij, aby pobrać i bezpłatnie wypróbować Kutools dla programu Excel teraz!


Metoda 4: Wyodrębnij liczbę dziesiętną tylko z ciągu tekstowego ze wzorem

Jeśli ciągi tekstowe, które zawierają liczby dziesiętne w twoim arkuszu, jak możesz wyodrębnić tylko liczby dziesiętne z ciągów tekstowych?

Poniższy wzór może pomóc w szybkim i łatwym wyodrębnieniu liczb dziesiętnych z ciągów tekstowych.

Wpisz tę formułę :=LOOKUP(9.9E+307,--LEFT(MID(A5,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A5&"1023456789")),999),ROW(INDIRECT("1:999")))), A następnie wypełnij uchwyt do komórek, które chcesz zawrzeć w tej formule, wszystkie liczby dziesiętne zostały wyodrębnione z ciągów tekstowych, patrz zrzut ekranu:

doc wyodrębnia tylko numery 13


Wyodrębnij liczbę tylko z ciągów za pomocą Kutools for Excel

Kutools dla programu Excel: z ponad 300 poręcznymi dodatkami do programu Excel, które można wypróbować bez ograniczeń w ciągu 30 dni. Pobierz i bezpłatną wersję próbną teraz!

Względne artykuły:

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (61)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
how to get a extract extact numbers from text
This comment was minimized by the moderator on the site
Hi, I'm looking to list all numbers in a string before a certain character. The string has letters and numbers, so I want to remove the letters and only list the numbers that appear before the second minus sign "-". Example:MUMUT-S941-22460991e002
I want that to isolate the numbers 941 in the above example.
This comment was minimized by the moderator on the site
How to use Index instead of Indirect to extract number from string. Indirect is volatile and Index can replace it as per http://www.excelhero.com/blog/2011/03/the-imposing-index.html. Thanks Ahead!
This comment was minimized by the moderator on the site
Hello! I found the following formula to extract only the numbers from text strings in Excel very useful

SUMPRODUCT(MID(0&A5, LARGE(INDEX(ISNUMBER(--MID(A5, ROW(INDIRECT("1:"&LEN(A5))), 1)) * ROW(INDIRECT("1:"&LEN(A5))), 0), ROW(INDIRECT("1:"&LEN(A5))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A5)))/10)

Could you explain more on this formula as it seems quite complicated? Many thanks.
This comment was minimized by the moderator on the site
Reading ID: 3151346 BeatO User ID: 239930 Name: Mahesh Phone: 9823010759 Email: City: nashik State: Maharashtra Reading: 55 Meal Time: Random Meal Type: RANDOM Reading Time: 2020-03-01 00:15:57 View user readings in Portal



I want to extract numeric no. post Reading text
This comment was minimized by the moderator on the site
Hello, how can i extract the cheque no.only from the below text

OUTWARD CLEARING CLRG CHQ DEPOSIT CHQ. NO: 000123~700320456 ABCD ARAB PLAZ BRANC Value DATE, 01/02/2020 - S79519642

i tried below formula and its working but i need to change the 1:57 by calculating how many character before the first digit plus how many digits i want to extract.
=MIN(FIND({0,1,2,3,4,5,6,7,8,9},A3&"0123456789"))+5 im using this formula to know how many characters before the first number..

=TEXTJOIN("",TRUE,IFERROR(MID(A3,ROW(INDIRECT("1:57")),1)+0,""))
This comment was minimized by the moderator on the site
=Mid(A2,find("CHQ. NO", A2)+9,6)
This comment was minimized by the moderator on the site
Hi. I wonder to know is it possible to extract from the next string '102-105+106-10605-10605 -10631-10632-10633-10634-10635+107' all values of only three digits that have sign '-' (i.e. minus) before them (or plus - doesn't matter). Then extract extract all 5-digits values with the same rule? If this is possible to do I will save many many hours of manual work that I can devote to lot's of uselful tasks.

P.S.
I know that regular expressions are able to do that, BUT... I hate their syntax, so I'm searching any other method to complete this task.

Thanks in advance.
This comment was minimized by the moderator on the site
Hi, is it possible to extract the numbers before "g", for example : 25,20,15,25,300,40

Ali Baba Dark Chocolate 25g box 12 pcs
Ali Baba Dark Chocolate 20g*24 box
Cadbury 5 Star White Chocolate 15g
Kinder 2 White Chocolate 25g*24
ALpella Biscuits W/Marshmallow300g
Alpella Chocolate 40g
This comment was minimized by the moderator on the site
did anyone answer or did you figure this out? this is exactly my problem right - even down to the letter 'g'. the problem with the formula I am using now is that it returns the first number, if there are more than one, from the string and not the number I am wishing to return.
This comment was minimized by the moderator on the site
Hi, is it possible to extract the numbers before "g", for example : 25,20,15,25,300,40


Ali Baba Dark Chocolate 25g box 12 pcs
Ali Baba Dark Chocolate 20g*24 box
Cadbury 5 Star White Chocolate 15g
Kinder 2 White Chocolate 25g*24
ALpella Biscuits W/Marshmallow300g
Alpella Chocolate 40g
This comment was minimized by the moderator on the site
can any one answer this question, how to extract the no's
This comment was minimized by the moderator on the site
You may try select the number before g in the first cell, copy and paste it in new cell. Then press CTRL + E. All the number before g will be auto generated. 

This comment was minimized by the moderator on the site
Tkssssss you saved my day :) God bless you
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations