Jak najszybciej rozdzielić tekst od liczby
-
- Posty: 92
- Rejestracja: wt paź 04, 2022 5:48 pm
Jak najszybciej rozdzielić tekst od liczby
liczba i jej jednostka maja być osobno.
- Załączniki
-
- towar wz_0001.ods
- (24.94 KiB) Pobrany 70 razy
7.5.6.2 (X86_64)
-
- Posty: 92
- Rejestracja: wt paź 04, 2022 5:48 pm
Re: Jak najszybciej rozdzielić tekst od liczby
znalazłem formułę która spełniła zadanie dla podanego przykładu
=LEWY(C1;SZUKAJ.TEKST(" ";C1;1))
Moje pytanie jednak nadal obowiązuję na [przyszły użytek].
W szczególności jak najszybciej/ najprościej rozdzielić jeden ciąg liczb połączony [ lub rozdzielony spacją ] z ciągiem znaków.
=LEWY(C1;SZUKAJ.TEKST(" ";C1;1))
Moje pytanie jednak nadal obowiązuję na [przyszły użytek].
W szczególności jak najszybciej/ najprościej rozdzielić jeden ciąg liczb połączony [ lub rozdzielony spacją ] z ciągiem znaków.
7.5.6.2 (X86_64)
Re: Jak najszybciej rozdzielić tekst od liczby
Najlepiej zrobić to funkcją REGEX() (opisaną m.in. tu: viewtopic.php?p=23188#p23188)
Przykład rozwiązania zwracam w załączniku.
Przykład rozwiązania zwracam w załączniku.
- Załączniki
-
- towar wz_0001_J.ods
- (27.94 KiB) Pobrany 64 razy
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
-
- Posty: 92
- Rejestracja: wt paź 04, 2022 5:48 pm
Re: Jak najszybciej rozdzielić tekst od liczby
Taka odpowiedź, to nie odpowiedź. Wczytałem swój wysłany na forum plik, tak wygląda początek tabelki
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
-
- Posty: 92
- Rejestracja: wt paź 04, 2022 5:48 pm
Re: Jak najszybciej rozdzielić tekst od liczby
Liczby mają znajdować się w osobnej kolumnie oraz jednostki w osobnej kolumnie.
Tak naprawdę najważniejsze były liczby.
Chodziło o to że przekonwertowałem plik .jpeg na .ods i chciałem sprawdzić poprawność danych tj. czy suma( ilość*wartość ) dadzą identyczną wartość jak na zeskanowanym dokumencie. Wykorzystałem do tego funkcję którą znalazłem w Internecie a potem poprawiłem ręcznie dwa albo trzy błędy. W tym przypadku dało to radę ale gdyby błędów byłoby znacznie więcej to byłoby to nie efektywne.
Na przyszły użytek, chciałbym wiedzieć jak rozdzielić ciąg liczb a potem znaków najlepiej nie regularnych np.
123.op
23 szt
25Szt
30kg
30 Kg
28 op.
Tak naprawdę najważniejsze były liczby.
Chodziło o to że przekonwertowałem plik .jpeg na .ods i chciałem sprawdzić poprawność danych tj. czy suma( ilość*wartość ) dadzą identyczną wartość jak na zeskanowanym dokumencie. Wykorzystałem do tego funkcję którą znalazłem w Internecie a potem poprawiłem ręcznie dwa albo trzy błędy. W tym przypadku dało to radę ale gdyby błędów byłoby znacznie więcej to byłoby to nie efektywne.
Na przyszły użytek, chciałbym wiedzieć jak rozdzielić ciąg liczb a potem znaków najlepiej nie regularnych np.
123.op
23 szt
25Szt
30kg
30 Kg
28 op.
Ostatnio zmieniony czw mar 30, 2023 9:29 am przez KontoLibreOffice, łącznie zmieniany 1 raz.
7.5.6.2 (X86_64)
Re: Jak najszybciej rozdzielić tekst od liczby
1. Formułami — zrobić dwie kolumny z formułami REGEX. Pierwsza będzie zachowywać pierwszą grupę znaków (cyfry i ew. część ułamkową po przecinku), a druga — drugą (jednostki). W skrócie, jeśli mix znajduje się a kolumnie A, to w B:zaś w C:
Oto przykładowy efekt:
Trzeci od końca wiersz zawiera zapis liczby z czynnikiem skalującym, czyli naukowej. Widać, że jeśli chesz je rozpoznawać, trzeba jeszcze trochę popracować nad wzorcem liczby.
W dwóch ostatnich wierszach zawartość jest niezgodna z wzorcem.
2. Ręcznie — wziąć wynikową kolumnę @Jermor-a i wkleić ją „specjalnie” ze wskazaniem spacji jako separatora
Kod: Zaznacz cały
=REGEX(A1; "([-]?[0-9]+(,[0-9]+)?) *.*"; "$1")
Kod: Zaznacz cały
=REGEX(A1; "([-]?[0-9]+(,[0-9]+)?) *(.*)"; "$3")
Kod: Zaznacz cały
[A] [B] [C]
12cm 12 cm
-21m -21 m
3 kg 3 kg
3,14pi 3,14 pi
3,14 pi 3,14 pi
1e5 sec 1 e5 sec
1,2,3 po kolei 1,2 ,3 po kolei
a be ce a be ce a be ce
W dwóch ostatnich wierszach zawartość jest niezgodna z wzorcem.
2. Ręcznie — wziąć wynikową kolumnę @Jermor-a i wkleić ją „specjalnie” ze wskazaniem spacji jako separatora
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: Jak najszybciej rozdzielić tekst od liczby
Możesz także wykorzystac taki sposób:
Dane są w kolumnie A. W kolumnie B wpisujesz formułę:REGEX() zawsze zwraca tekst, dlatego użyta jest funkcja WARTOŚĆ(). REGEX() zwraca tylko liczbę jeśli zaczyna ona cały tekst, uwzględniając znak liczby i ewentualny przecinek dziesiętny.
W kolumnie C wpisujesz formułę:Ta formuła zwraca ci wszystko to, co jest za liczbą. Funkcja USUŃ.ZBĘDNE.ODSTĘPY() usunie ewentualne początkowe spacje.
Jeśli ciąg nie będzie się zaczynał znakiem liczby lub cyfrą wynikiem będzie #N/D.
Tak wyglądałyby twoje dane.
Dane są w kolumnie A. W kolumnie B wpisujesz formułę:
Kod: Zaznacz cały
=WARTOŚĆ(REGEX(A5;"^[-+]?\d+,?\d*"))
W kolumnie C wpisujesz formułę:
Kod: Zaznacz cały
=USUŃ.ZBĘDNE.ODSTĘPY(PRAWY(A5;DŁ(A5)-DŁ(B5)))
Jeśli ciąg nie będzie się zaczynał znakiem liczby lub cyfrą wynikiem będzie #N/D.
Tak wyglądałyby twoje dane.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.