fbpx

Zamiana w liczbie tylko drugiej kropki na przecinek, a usunięcie pierwszej

26.01.2014 | Operacje na tekście

Jeden z czytelników często napotyka w swojej codziennej pracy z Excelem następujący problem:

W firmie, w której pracuję, korzystam głównie z Excela. Często zdarza się, że przeklejam dane z plików PDF, gdzie liczba w tysiącach wyraża się następująco: 1.234.23 Nie mam pojęcia, jak zamienić pierwszą kropkę na przecinek, a drugą pozostawić lub też sformatować tę liczbę przez skasowanie tylko jednej kropki (pierwszej od lewej) tak, by liczba miała postać: 1234.23. Jest to dla mnie bardzo istotne, ponieważ pracuję na dużych tabelach i bardzo utrudnia mi to liczenie!

W tym poście odpowiem na powyższe pytanie i dodatkowo zasugeruję inny wynik końcowy – moim zdaniem użyteczniejszy.

Mamy do czynienia z liczbami w następującej formie (kolumna A):

Zamiana liczb z plików PDF na liczby zrozumiałe dla Excela - formatka

Są to liczby wyglądające tak, jak zaciągnięte z pliku PDF, o których pisze Czytelnik, czyli:

  • separatorem tysięcy jest kropka,
  • separatorem dziesiątek też jest kropka.

Warto zwrócić uwagę na fakt, że – ze względu na typ separatora (kropka zamiast przecinka) dla Excela każda liczba z przykładu jest tekstem. W związku z tym na tych danych nie da się wykonywać żadnych obliczeń.

Opiszę teraz:

1. w jaki sposób pozbyć się pierwszej kropki i dodatkowo…
2. w jaki sposób zamienić powstałą wartość (dla Excela – powstały tekst) na taką, która dla Excela będzie liczbą (będzie można na niej wykonywać obliczenia).

Polecam wykonać szczególnie drugi krok. Warto jednak zdać sobie sprawę z tego, że zaprezentowany  sposób usunięcia pierwszej kropki (separatora tysięcy) dotyczy tylko liczb mniejszych niż milion. Milion bowiem ma już dwa separatory tysięcy (1.000.000 -> 1 000 000).

A więc…

1. Aby usunąć pierwszą kropkę (separator tysięcy), należy w komórkę B2 wpisać następującą formułę:

=ZASTĄP(A2;SZUKAJ.TEKST(".";A2);1;"")

i skopiować ja do pozostałych komórek w kolumnie B.

2. Aby zamienić drugą kropkę (separator dziesiętny) na przecinek, należy w komórkę C2 wpisać następującą formułę:

=JEŻELI.BŁĄD(ZASTĄP(B2;SZUKAJ.TEKST(".";B2);1;",");B2)*1

i skopiować ją do pozostałych komórek w kolumnie C. Formuła ta pozwoli dodatkowo wyeliminować błąd #ARG! w przypadku, gdy nie ma drugiej kropki – separatora dziesiętnego.

3. Ostatnim krokiem jest zmiana formatowania na takie, które ułatwi odczytanie liczby. W moim przykładzie wstawiłam dodatkową kolumnę (kolumna Liczba sformatowana), aby pokazać tylko wynik formatowania. Polecam format liczbowy z separatorem tysięcy i dwoma miejscami po przecinku:

Zamiana liczb z plików PDF na liczby zrozumiałe dla Excela - formatowanie liczbowe

Oto wynik:

Zamiana liczb z plików PDF na liczby zrozumiałe dla Excela - wynik

Oczywiście gdy mamy już liczbę tylko z jedną kropką (separatorem dziesiętnym), można zamienić ją na przecinek również w inny sposób. Należy:

1. Zaznaczyć liczby w zakresie B2:B6
2. Skopiować je
3. Ustawić się w komórce B2
4. Skopiowane liczby wkleić specjalnie jako wartości (przeczytasz o tym tutaj)
5. Za pomocą narzędzia Znajdowanie i zamienianie zamienić kropkę na przecinek (przeczytasz o tym tutaj lub – jeśli interesuje cię rozwiązanie używające makra – tutaj)

Gotowe!

Pomogłam Ci? Postaw mi wirtualną kawę! →

Przeczytaj podobne wpisy

Kategorie

7 komentarzy

  1. Zaproponowałbym inne rozwiązanie: usunąć wszystkie kropki przez Ctrl-H i potem wynik podizelić przez 100 oddzielną formułą.

    Reply
    • Łukaszu, a co w przypadku jeżeli któraś z liczb nie ma części setnych, tylko np. dziesiętną 123.234.5 ?

      Reply
  2. Super artykuł, bardzo pomocny 🙂 Mam jednak jeszcze jeden problem – w moich danych występują spacje. Nie jestem w stanie usunąć ich za pomocą funkcji „zastąp”. Masz pomysł jak sobie z tym poradzić? Z góry wielkie dzięki 🙂

    Reply
    • Szafran – cieszę się, że artykuł Ci się przydał. Jeśli chodzi o pozbycie się spacji może spróbuj tak:
      =ZASTĄP(A2;SZUKAJ.TEKST(” „;A2);1;””)
      Ta formuła usunie spację. O to chodziło?

      Reply
  3. jedna z możliwości ;

    =PODSTAW(PODSTAW(A2;”.”;””;1);”.”;”,”;1)

    Reply
    • Pewnie, super 🙂

      Reply

Submit a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Pin It on Pinterest