logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Excel - formuła wyciagająca z szeregu cyfr ciąg liczb

fafankulo 26 Maj 2017 19:54 14133 9
REKLAMA
  • #1 16497206
    fafankulo
    Poziom 11  
    Posty: 20
    Ocena: 2
    Witam,

    Poszukuję rozwiązania do mojego problemu w excelu z szeregiem cyfr generowanych przez czytnik kodów.
    Mam np: dwa szeregi cyfr:

    (240)60002626(10)170161256
    (240)00683958(10)161160987

    Mnie interesuje wyciągnięcie cyfr znajdujących się po nawiasach.

    w przypadku tego ciągu cyfr: (240)60002626(10)170161256
    korzystam z formuły:

    =FRAGMENT.TEKSTU(D3;4;8) co daje mi rezultat: 60002626

    później powtarzam tą formułę aby wyciągnąć druga z cyfr:

    =FRAGMENT.TEKSTU(D3;14;9) co daje rezultat: 170161256

    i wszystko jest OK.
    Do czasu jak mam coś takiego zrobić w przypadku ciągu cyfr np:

    (240)00683958(10)161160987

    Tutaj też muszę wyciągnąć z tego szeregu cyfr liczby znajdujące się po (240) czyli 00683958 ale ja chciałbym aby ta liczba nie zawierała cyfr 00 jeśli się takie pojawią w obojętnie w jakiej ilości. Czyli dobry rezultat to taki gdyby zapis tego ciągu znaków obrazował się tak:

    W jednej komórce: 683958
    a w drugiej: 161160987


    Bardzo proszę o pomoc jakiej formuły powinienem użyć.
    Z góry dziękuje i pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 16497247
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 455
    =WARTOŚĆ(FRAGMENT.TEKSTU(D3;4;8))
    bedzie to liczba, nie tekst

    Dodano po 2 [minuty]:

    =TEKST(WARTOŚĆ(FRAGMENT.TEKSTU(D3;4;8));"0") - bedzie tekst
  • Pomocny post
    #3 16498584
    Prot
    Poziom 38  
    Posty: 2580
    Pomógł: 574
    Ocena: 297
    fafankulo napisał:
    Bardzo proszę o pomoc jakiej formuły powinienem użyć.


    Jeśli masz taką regularną strukturę tych kodów to moim zdaniem wystarczą formuły przedstawione przez kolegę JRV.

    W przypadkach nie jednolitych struktur - możesz zainteresować się "wyrażeniami regularnymi" :D - https://www.elektroda.pl/rtvforum/topic3319015.html#16344661
  • REKLAMA
  • #4 16500539
    fafankulo
    Poziom 11  
    Posty: 20
    Ocena: 2
    Witam,
    Na wstępie bardzo dziękuje Panu JRV gdyż to co podał sprawdziło się w 100 %.
    Mam jeszcze w tym samym temacie dwa pytania a mianowicie:

    1. jak mam sformatować komórkę aby wyświetlała w zawartości ze zczytanego kodu kreskowego zawartość w postaci szeregu cyfr.
    Nie wiem dlaczego w jednej komórce, która jest sformatowana jako tekst wyświetla ten szereg cyfr a w innej mimo iż jest tak samo sformatowana już nie.
    2. Jak mam połączyć funkcję :
    =WYSZUKAJ.PIONOWO(D28;[Zeszyt2]Arkusz1!A:B;2;0) Tak abym do komórki D28 nie wpisywał jak do tej pory wartości ręcznie ale była ona
    pobierana z komórki która zawiera skolei formułe:
    =TEKST(WARTOŚĆ(FRAGMENT.TEKSTU(B13;4;8));"0")

    Mam nadzieję iż napisałem o co mi chodzi w sposób przystępny i zrozumiały.
    Załączam printsreen excela może to pomoże o co mi chodzi.

    Z góry dziękuję za wszelką pomoc.
    Pozdrawiam.

    Excel - formuła wyciagająca z szeregu cyfr ciąg liczb
  • Pomocny post
    #5 16500557
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 455
    fafankulo napisał:
    abym do komórki D28 nie wpisywał jak do tej pory wartości ręcznie
    Sądząc z tego, że krawędź wyrównania wartości w komórkach, to w D28 wygląda jak liczba wtedy jak w [Zeszyt2]Arkusz1!A:A wygląda jak tekst, choć faktycznie byłoby liczba, jeśli formuła działa
  • REKLAMA
  • Pomocny post
    #6 16501858
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    fafankulo napisał:
    ...1. jak mam sformatować komórkę aby wyświetlała w zawartości ze zczytanego kodu kreskowego zawartość w postaci szeregu cyfr.
    Nie wiem dlaczego w jednej komórce, która jest sformatowana jako tekst wyświetla ten szereg cyfr a w innej mimo iż jest tak samo sformatowana już nie.

    2. Jak mam połączyć funkcję ... Tak abym do komórki D28 nie wpisywał jak do tej pory wartości ręcznie ale była ona
    pobierana z komórki która zawiera ...formułe ...

    Ad 1
    Sformatować kolumnę, do której sczytywane są kody ze skanera na wartości tekstowe, ale przed rozpoczęciem skanowania kodów - excel ma dokładność wyświetlania cyfr do 15 miejsc, a tu są 22 cyfry.

    Ad 2
    JRV napisał:
    ... Sądząc z tego, że krawędź wyrównania wartości w komórkach, to w D28 wygląda jak liczba wtedy jak w [Zeszyt2]Arkusz1!A:A wygląda jak tekst, choć faktycznie byłoby liczba, jeśli formuła działa

    Właśnie ... kolega JRV słusznie zauważył ... jak formuła wyszukiwania ma działać poprawnie skoro w "Arkuszu1" wartość w D28 jest w postaci liczby, a w "Arkuszu1 Zeszytu2" odpowiednie wartości w postaci tekstu ?
    ... trzeba się na coś zdecydować ... albo tekst albo liczba ...
    ... albo tu tekst, tam liczba, ale funkcja wyszukiwannia z wplecioną do niej funkcją konwersji tekst-liczba ... względnie liczba-tekst ...
  • #7 16502251
    fafankulo
    Poziom 11  
    Posty: 20
    Ocena: 2
    Witam,

    Dziękuje za udzielone odpowiedzi.
    Choć muszę się przyznać iż niewiele zrozumiałem.
    Dlatego też postanowiłem jeszcze raz przedstawić o co mi chodzi:
    Dołączam screen w jpeg oraz dwa arkusze w excelu.

    Z góry dziękuje, oraz przepraszam iż jestem taki toporny.
    Pozdrawiam, ;-)
    Załączniki:
    • Zeszyt1.xlsx (17.41 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Zeszyt2.xlsx (12.86 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Excel - formuła wyciagająca z szeregu cyfr ciąg liczb Formuła.jpg (384.43 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #8 16502266
    JRV
    Specjalista - VBA, Excel
    Posty: 2724
    Pomógł: 805
    Ocena: 455
    fafankulo napisał:
    oraz dwa arkusze w excelu.
    Powinno być od samego początku.
    Wartosci w Zeszyt2 kolumna A:A jest liczby(wszytskie komórki są sformatowane jako: ogólne), ale.... wyrównanie, odbywa się na lewej krawędzi, wtedy ma wyglad tekstu.
    Naprosto w H13 uzyj =WARTOŚĆ(FRAGMENT.TEKSTU(B13;4;8))
    Co do B5 - to samo format ogólny, wyrównanie na lewej krawędzi
  • REKLAMA
  • Pomocny post
    #9 16503907
    lanzul
    Poziom 30  
    Posty: 1023
    Pomógł: 199
    Ocena: 123
    Dodatkowo, skoro koledze arkusz ten ma posłużyć do identyfikacji towarów poprzez skanowanie ich kodów kreskowych, można jeszcze do tego dołożyć funkcję "Hiperłącze", która wyświetli koledze zdjęcie zeskanowanego towaru, dla porównania poprawności danych. Zapis funkcji, opis reszty oraz schemat 'konfiguracji' dostępu do zdjęć towarów w załączonym archiwum zip (nazwy zdjęć powinny być takie same jak kody towarów):
    Skaner-B..a.zip (76.74 kB)Musisz być zalogowany, aby pobrać ten załącznik.
  • #10 16505908
    fafankulo
    Poziom 11  
    Posty: 20
    Ocena: 2
    Witam,

    Chciałem podziękować wszystkim, którzy próbowali mi pomóc w moim problemie w szczególności Panu JRV gdyż postępując zgodnie z jego radami udało mi się uzyskać efekt o który mi chodziło.

    Jeszcze raz bardzo dziękuje.
    Pozdrawiam.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik poszukiwał rozwiązania w Excelu do wyciągania cyfr z ciągów znaków generowanych przez czytnik kodów. Przykładowe ciągi to (240)60002626(10)170161256 oraz (240)00683958(10)161160987. Użytkownik chciał uzyskać liczby po nawiasach, eliminując wiodące zera. Odpowiedzi sugerowały użycie formuły =FRAGMENT.TEKSTU oraz konwersji na wartość liczbową, a także zwrócono uwagę na znaczenie formatu komórek (tekst vs liczba). Wskazano również na możliwość użycia wyrażeń regularnych w przypadku bardziej złożonych struktur danych. Użytkownik uzyskał pomoc i rozwiązanie swojego problemu, dziękując za wsparcie.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA