Jeden z czytelników mojego bloga – Szafran, napotkał następujący problem: zaimportował do Excela dane liczbowe, które Excel potraktował jak tekst. Zamiast separatora tysięcy został wstawiony odstęp. Odstęp ten ma kod ASCII 160, a nie 32 tak, jak spacja. Dodatkowo standardowo separatorem dziesiętnym jest kropka, a nie przecinek, a liczby ujemne są ujęte w nawiasy. Tak oto wyglądają zaimportowane dane:
W tym artykule pokażę jak:
- pozbyć się odstępów, które wyglądają jak spacje,
- zamienić kropki na przecinki oraz
- pozbyć się nawiasów i zastąpić je znakiem minus „-„.
Wszystko to, aby zamienić zaimportowane liczby, które są dla Excela jedynie tekstem, na prawdziwe liczby. O tym, dlaczego warto tak zrobić piszę tutaj: Zamiana liczb z plików PDF na liczby zrozumiałe dla Excela.
Pierwszą rzeczą, którą należy zrobić to usunięcie zbędnych odstępów. Należy zrobić to poprzez zamianę odstępu na pusty ciąg znaków.
Aby to zrobić:
1. Skopiuj jeden znak będący odstępem: wejdź do edycji komórki np. A3 i zaznacz pierwszy znak. Najlepiej zrobić to za pomocą klawiszy: shift i strzałka w prawo. Następnie naciśnij ctrl+c.
2. Wywołaj okno Znajdowanie i zamienianie (ctrl+h). W polu Znajdź wklej skopiowany znak (crtl+v), a pole Zamień na pozostaw puste. Naciśnij przycisk Zamień wszystko.
Efekt jest taki (kolumna B):
Teraz, za pomocą formuły, zrobię z tego liczbę. Aby to zrobić w komórce C2 wpisz:
=PODSTAW(PODSTAW(PODSTAW(B2;".";",");"(";"-");")";"")*1
Po sformatowaniu wyniku jako liczba z dwoma miejscami po przecinku i separatorem tysięcy, otrzymamy taki efekt:
Oczywiście można zrobić to samo jedynie za pomocą narzędzia Znajdowanie i zamienianie (ctrl+h). Wystarczy po kolei wpisywać w odpowiednie pola:
1. w polu Znajdź wpisz: „.”, a w polu Zamień na: „,”,
2. w polu Znajdź wpisz: „(„, a w polu Zamień na: „-„,
3. w polu Znajdź wpisz: „)”, a pole Zamień na pozostaw puste,
Efekt będzie ten sam. Co kto woli 🙂
Gotowe!
Przychodzi mi do głowy jeszcze jeden sposób, w jaki można sobie z tym problemem poradzić (poza napisaniem funkcji w VBA;)). Opiszę go jednak w kolejnym artykule.
Rewelacja! Wielkie dzięki, teraz wszystko działa jak trzeba 🙂