Poprawne rozpoznawanie liczb skopiowanych z Internetu

Na wielu stronach internetowych, zwłaszcza zagranicznych, separatorem części dziesiętnej jest kropka. LibreOffice Calc traktuje takie liczby jako tekst, co uniemożliwia dokonywanie na nich obliczeń. Artykuł opisuje, w jaki sposób poradzić sobie z tym ograniczeniem.

Wpierw przyjrzyjmy się, na czym dokładnie polega problem. Wykorzystamy do tego tabelę kursu walut na stronie OANDA (ponieważ strona nie oferuje bezpośrednich odnośników do tabel, przygotowałem także uproszczoną kopię).

Zaznaczamy tabelę w przeglądarce i ją kopiujemy. Następnie przechodzimy do arkusza kalkulacyjnego, gdzie wklejamy zawartość schowka. Pojawi się nowe okno, w którym jedynie klikamy OK.

Arkusz powinien zostać poprawnie wypełniony danymi z tabeli. Jeżeli teraz policzymy średnią dla zakresu B2:B31, zobaczymy błąd próby dzielenia przez zero. Pojawia się on, ponieważ Calc przekształcił liczby w tekst. Spowodowane jest to obecnością kropki. Polskojęzyczny arkusz kalkulacyjny w miejscu separatora liczb dziesiętnych oczekuje przecinka, więc po napotkaniu kropki uznaje, że ma do czynienia z tekstem.

W przypadku niektórych przeglądarek internetowych okienko importu danych może być bardziej rozbudowane. Przyjrzymy mu się w dalszej części artykułu.

Aby zapobiec temu problemowi, podczas importu danych należy zadeklarować ich język. Dzięki temu LibreOffice poprawnie rozpozna symbol separatora cześci dziesiętnej.

Ponownie więc wklejamy dane do arkusza. Jednak tym razem w nowym oknie zaznaczamy pole Niestandardowy, a następnie z listy rozwijanej wybieramy Angielski (USA). Potwierdzamy za pomocą przycisku OK.

Warto dodać, że możemy także zmienić format dla każdej kolumny z osobna. Jednak aby to zrobić, musimy wkleić dane w formacie tekstowym. W arkuszu kalkulacyjnym wciskamy jednocześnie Ctrl + Shift + V i w nowym oknie wybieramy Niesformatowany tekst. Pojawi się bardziej rozbudowane okno importu danych. Na marginesie — w przypadku niektórych przeglądarek internetowych okno to pojawia się także podczas zwykłego wklejania danych (za pomocą kombinacji Ctrl + V).

W dolnej części okna znajduje się podgląd danych. Po kliknięciu kolumny możemy wybrać jej typ z listy rozwijanej powyżej. Dostępne są: automatyczne rozpoznanie formatu (Standardowy), tekst, data w kilku formatach oraz liczby z kropką jako separatorem liczby dziesiętnej (Angielski (USA)). Aby zaznaczyć wiele kolumn jednocześnie, należy przytrzymać klawisz Ctrl lub Shift.

Przyjrzyjmy się tej funkcji na przykładzie. Ponownie kopiujemy dane ze strony internetowej i wklejamy je do arkusza jako niesformatowany tekst. Gdy pojawi się okno importu danych, zaznaczamy RozdzielonyTabulator. Następnie na dole okna klikamy pierwszą kolumnę od lewej i z listy rozwijanej wybieramy Data (MDR). Po zaznaczeniu pozostałych na liście zaznaczamy Angielski (USA). Zamykamy okno za pomocą przycisku OK.

Jeżeli wszystko poszło zgodnie z planem, program rozpozna nie tylko liczby, ale także daty.

Na zakończenie warto przyjrzeć się sytuacji, gdy zapomnieliśmy zadeklarować język danych podczas wklejania.

Oczywiście możemy je usunąć i wkleić jeszcze raz, tym razem unikając błędu. Jednak lepszym rozwiązaniem jest prosta zamiana kropki na przecinek. W tym celu zaznaczamy wszystkie dane, w obrębie których chcemy dokonać zmian i wybieramy z menu EdycjaZnajdź i zamień....

Pojawi się nowe okno. W polu Szukaj wprowadzamy kropkę, zaś w polu Zamień na przecinek. Poza tym klikamy przycisk Więcej opcji i upewniamy się, że pole Tylko bieżące zaznaczenie jest zaznaczone, a pole Wyrażenie regularne odznaczone. Na końcu klikamy Zamień wszyst. i zamykamy okno.

Program sam zamieni wszystkie niepoprawne separatory na przecinki. Powinien także automatycznie dopasować format komórek do liczbowego typu danych.

Podobał Ci się ten artykuł? Zapisz się na listę subskrybentów i otrzymuj informacje o następnych

Komentarzy: 1