Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Excel] - Formuła wyszukująca ciąg znaków, który zawiera 2 cyfry i literę

raven3run 31 Mar 2015 13:34 1467 4
  • #1 31 Mar 2015 13:34
    raven3run
    Poziom 1  

    Witam serdecznie,
    Mam pewien problem. Mam bardzo duży plik z danymi.
    Do osobnej kolumny potrzebuje wyciągnąć pewne dane.

    Przykładowa komórka z nazwą:
    120/70ZR17M/CTL 58W K3 RacInF

    Wynikiem formuły powinno być: 58W

    Cały problem polega na tym, że nazwy są nieregularne. Czasem ciąg występuje pod koniec, czasem na początku nazwy, ale wzór jest ten sam:
    3 znaki - 2cyfry i litera

    Cyfry i litery są oczywiście zmienne.

    Szczerze nie mam zielonego pojęcia jak mam się za taką formułę zabrać.
    Czy jest ktoś kto byłby mi w stanie pomóc?

    0 4
  • #2 31 Mar 2015 13:56
    dt1
    Moderator - Komputery Serwis

    Witaj,
    Patrząc na ciąg znaków (2 cyfry plus litera) dopiero 58W znajdziesz jako trzecie. Zwróć uwagę, że wcześniej masz 70Z oraz 17M. To też dwie cyfry plus litera. Nie wiem, czy będzie to pasować do każdego wpisu, ale czy sprowadzają się one do jakiegoś ciągu, po którym jest zawsze spacja (i jest to zawsze pierwsza występująca w takiej linii spacja), a dalej są trzy znaki? Wtedy można prosto:

    =FRAGMENT.TEKSTU(A1;SZUKAJ.TEKST(" ";A1)+1;3)

    Zakładam, że całość, z której wyciągasz interesujący Cię ciąg jest w komórce A1.

    0
  • #3 31 Mar 2015 14:46
    JRV
    Specjalista - VBA, Excel

    Moim zdaniem, tu tylko z pomocą makro.

    0
  • #4 31 Mar 2015 16:36
    NAXIN
    Poziom 22  

    dt1 napisał:
    Witaj,
    Patrząc na ciąg znaków (2 cyfry plus litera) dopiero 58W znajdziesz jako trzecie. Zwróć uwagę, że wcześniej masz 70Z oraz 17M. To też dwie cyfry plus litera. Nie wiem, czy będzie to pasować do każdego wpisu, ale czy sprowadzają się one do jakiegoś ciągu, po którym jest zawsze spacja (i jest to zawsze pierwsza występująca w takiej linii spacja), a dalej są trzy znaki? Wtedy można prosto:

    =FRAGMENT.TEKSTU(A1;SZUKAJ.TEKST(" ";A1)+1;3)

    Zakładam, że całość, z której wyciągasz interesujący Cię ciąg jest w komórce A1.


    Idąc tokiem myślenia za @dt1 możesz zastosować dodatkowo symbole wieloznaczne. Jeśli chciałbyś wyciągnąć wartość 58 w formie liczby, żeby móc na niej przeprowadzać jakieś działania to możesz tak:
    Code:
    =FRAGMENT.TEKSTU(A1;SZUKAJ.TEKST("??W";A1);2)+0

    ?-dowolny znak
    *-dowolny ciąg znaków
    ~?-znak zapytania
    ~*-gwiazdka

    0
  • #5 01 Kwi 2015 07:45
    adamas_nt
    Moderator Programowanie

    raven3run napisał:
    Przykładowa komórka z nazwą:
    Wrzuć więcej przykładów. Czy poszukiwany ciąg zawsze będzie miał spacje po obu stronach? Czy będzie to jedyny ciąg 5 znakowy spacja+cyfra+cyfra+litera+spacja w nazwie?

    0