2013-04-20 9 views
9

Jak wkleić niesformatowany tekst (csv lub tabulator rozdzielony na przykład) do LibreOffice Calc, a następnie sformatować go jako liczby (bez ręcznego edytowania każdej komórki). Kiedy wkleję poniższy tekst, umieszczam go "przed wszystkim", więc jeśli spróbuję przekonwertować go na liczbę, wciąż jest tekst.LibreOffice Calc: Jak przekonwertować niesformatowany tekst na liczby (lub inny format)?

Text 0.01% 3% 5.1% 
Asdf 0.2% 4% 6.0% 

Tak na przykład, jeśli wkleić specjalny, który jako niesformatowany tekst z ogranicznikami kosmicznych, a następnie przekonwertować 0,01% do kilku (co wtedy powiedzieć 0,0001 gdyby tak się stało, co chciałem), to teraz mówi „0,01% w komórka.

+0

Ten problem nadal występuje w najnowszej wersji pakietu LibreOffice. To jest absurdalnie trudny problem, aby spróbować obejść. Czy ktoś wie, jak sporządzić raport o błędzie? – EoghanM

Odpowiedz

9

Ta procedura jest testowana w LibreOffice 4.0.2. Wklej jako niesformatowany tekst i wybierz następujące opcje:

  • Wybierz język angielski jako język lub inny język, który używa kropek jako separatora dziesiętnego.
  • Wybierz "Wykryj numery specjalne".

Teraz wartości procentowe zostaną wklejone jako liczby zamiast tekstu i można użyć opcji formatowania, aby wyświetlić je tak, jak lubisz.

+0

Niesamowite, dziękuję, jak tylko skończy się ten 6-godzinny czas, otrzymasz nagrodę. Nie mogę uwierzyć, że nigdy tego nie zauważyłem: P – CrazyCasta

+1

OK, ale jak możesz wywołać to na danych, które są już w arkuszu kalkulacyjnym; na przykład Mam kolumnę danych w formacie "3,5 miliona dolarów.", Której Libreoffice nie interpretuje. jak uzyskać calc, aby ponownie sprawdzić numery? – AnjoMan

15

Aby zastąpić komórki z wiodących pojedynczy cudzysłów: ' (U+0027)

Prasa CTRL + H »Click More options» Check Regular expressions.

Wyszukaj ^.*$ i zamień na &.

To trochę hak silnika RegEx. Szuka wszystkiego przed uruchomieniem komórki i zamienia ją na istniejącą zawartość komórki - ale bez pojedynczego cudzysłowu. Spójrz na back reference, jeśli chcesz przeczytać więcej.

+0

Bardzo interesujące. Nie mam pojęcia, co masz na myśli przez "referencje". Czy możesz wyjaśnić, jak to działa? Wydaje się, że nie zadzieraj z komórkami, w których umieszczam "w komórce (co jest dobre, ponieważ chcę tylko, żeby bałagan z automatycznie wygenerowanymi komórkami). – CrazyCasta

+0

lista wyrażeń regularnych https://help.libreoffice.org/Common/List_of_Regular_Expressions – m3asmi

+3

Rozumiem wyrażenie regularne, ale nie rozumiem, w jaki sposób to wyrażenie regularne nie pasuje do pojedynczego cudzysłowu. Nic, co przeczytałem na tej stronie, nie wyjaśnia, co jest wyjątkowego w pojedynczym cudzysłowie, które sprawia, że ​​nie jest dopasowywany. Na przykład, jeśli nakarmię "s /^.*$/$ 0/g" w sed, spodziewałbym się, że otrzymam dokładnie to, co mu dałem. Nic z tego nie powinno odbierać faktu, że twoje rozwiązanie działa bardzo ładnie, po prostu chcę zrozumieć ** dlaczego ** to działa. – CrazyCasta

Powiązane problemy