Bill Szysz pod poradą 294 napisał jeszcze jedną ciekawą formułę na wyciąganie liczb z początku lub końca tekstu. Ważne jest, że formuła, którą zobaczymy wyciąga liczby, czyli nie zwróci wiodących zer. Za to jest prostą formułą w porównaniu do tych, które stosowaliśmy.

Porada 297 - Jak wyciągnąć liczbę z początku lub końca tekstu (alternatywna formuła) 01

Będziemy musieli wyciągać coraz dłuższe ciągi z naszego tekstu odpowiednio z prawej strony (od końca – funkcja PRAWY) lub z lewej strony (od początku – funkcja LEWY). Zwiększającą się długość zapewnimy sobie za pomocą funkcji WIERSZ, która będzie wskazywała na zablokowany zakres – załóżmy, że od komórki A1 do A17, ale śmiało może przedłużyć ten zakres jeśli masz dłuższe teksty. Ważne, że zakres musi zaczynać się od komórki A1 (pierwszego wiersza) i być zablokowanym, żeby się nie przesuwał.

=PRAWY(A2;WIERSZ($A$1:$A$17))

Porada 297 - Jak wyciągnąć liczbę z początku lub końca tekstu (alternatywna formuła) 02

Śmiało możesz zaznaczyć więcej wierszy nisz masz w tekście, bo w takiej sytuacji funkcja PRAWY (i analogicznie LEWY) wyciągają cały tekst.

={"5";"35";" 35";"a 35";"ka 35";"nka 35";"enka 35";"ienka 35";"kienka 35";"ukienka 35";"Sukienka 35";"Sukienka 35";"Sukienka 35";"Sukienka 35";"Sukienka 35";"Sukienka 35";"Sukienka 35"}

Wartości zwracane przez funkcje tekstowe są traktowane jako tekst, więc musimy je przekonwertować na liczby. Z wcześniejszych porad znamy już tą sztuczkę – to podwójna negacja – dwa znaki minus. Jeśli dany tekst da się przekonwertować na liczbę to Excel to zrobi. Jeśli jest to niemożliwe, to będzie zwracał błąd:

={5;35;35;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!}

W takiej tablicy wystarczy znaleźć największą liczbę. Można to zrobić za pomocą funkcji WYSZUKAJ i szukania dużej liczby np.: 9 do 99 potęgi:

=WYSZUKAJ(9^99;–PRAWY(A2;WIERSZ($A$1:$A$17)))

Porada 297 - Jak wyciągnąć liczbę z początku lub końca tekstu (alternatywna formuła) 03

To już cała formuła ? Analogicznie przy szukaniu liczb od początku tekstu musimy zamienić tylko funkcję PRAWY na LEWY i gotowe.

=WYSZUKAJ(9^99;–LEWY(D2;WIERSZ($A$1:$A$17)))

Na koniec trzeba powiedzieć o jeszcze jednym ograniczeniu tego sposobu – jeśli Excel jest wstanie zamienić jakiś zapis na liczbę (datę) za pomocą podwójnej negacji to to zrobi. Np. tekst „23 Czekolada” powinien zwracać poprawnie 23, ale wynik formuły jest całkiem inny:

Porada 297 - Jak wyciągnąć liczbę z początku lub końca tekstu (alternatywna formuła) 04

Wynika to, że w kolejnych wyciąganych tekstach pojawia się zapis „23 Cze”, który Excel tłumaczy sobie jako 23 czerwca bieżącego roku i zamienia na odpowiednią reprezentację liczbową. Stąd taki niespodziewany wynik formuły.

Pozdrawiam
Adam Kopeć
Miłośnik Excela
Microsoft MVP