Łączenie wielu arkuszy w jeden według kolumn[solved]

Użytkowanie arkusza kalkulacyjnego
KontoLibreOffice
Posty: 92
Rejestracja: wt paź 04, 2022 5:48 pm

Łączenie wielu arkuszy w jeden według kolumn[solved]

Post autor: KontoLibreOffice »

Przekonwertowałem .pdf na .odf z tym że każda strona w pdf została utworzona
jako osobna Tabele (arkusz). Muszę je teraz złączyć w jedną Tabelę(arkusz).
Właściwe dane znajdują się w kolumnach B,C,D,E. Kolumna I (lub inna) która nie wczytała się poprawnie jest nie istotna. Załączam próbny plik, ponieważ oryginalny jest za duży.
Tabel(arkuszy) w oryginalnym pliku jest 176.
Załączniki
przykład.ods
(26.8 KiB) Pobrany 93 razy
Ostatnio zmieniony sob kwie 22, 2023 11:59 am przez KontoLibreOffice, łącznie zmieniany 1 raz.
7.5.6.2 (X86_64)
Awatar użytkownika
Jermor
Posty: 2481
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Łączenie wielu arkuszy w jeden według kolumn

Post autor: Jermor »

Poskładałem tak na szybko makro, które połączy ci te arkusze.
Załączam plik. Otwórz go i naciśnij znajdujący się tam przycisk, wskaż plik do scalania.
Założenie było takie, że wszystkie arkusze mają pustą kolumnę A, a przeniesione będą komórki z kolumn B, C, D i E.
Połączone zestawienie pojawi się w tym pliku, który ci załączam. Każda pozycja to samodzielny wiersz, a nie scalone komórki.
Dalej poradzisz sobie sam.
AOO 4.1.16 (tylko Win 10), LO 25.8 (x64) na: Win 11, 10, Linux (Mint)
Ważne!
Jeśli twój problem został rozwiązany, edytuj swój pierwszy post, dopisując w temacie [SOLVED].
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Awatar użytkownika
Jermor
Posty: 2481
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Łączenie wielu arkuszy w jeden według kolumn

Post autor: Jermor »

Załączam jeszcze raz plik. W poprzednim może się zdarzyć, że nie zostanie przeniesiony ostatni wiersz z arkusza.
Przy okazji zmieniłem zakończenie pracy. Plik z danymi do scalenia jest zamykany a komunikat podaje ile wierszy zostało utworzonych.

W związku z tym usuwam załącznik z poprzedniego postu.
Załączniki
makro.ods
(10.23 KiB) Pobrany 123 razy
AOO 4.1.16 (tylko Win 10), LO 25.8 (x64) na: Win 11, 10, Linux (Mint)
Ważne!
Jeśli twój problem został rozwiązany, edytuj swój pierwszy post, dopisując w temacie [SOLVED].
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
KontoLibreOffice
Posty: 92
Rejestracja: wt paź 04, 2022 5:48 pm

Re: Łączenie wielu arkuszy w jeden według kolumn[solved]

Post autor: KontoLibreOffice »

Dziękuję bardzo, działa. Teraz chciałbym się zapytać o jeszcze jedną rzecz.
Scalona tabela ma mi posłużyć do wyszukiwania nazwy towaru za pomocą funkcji ''wyszukaj.pionowo''. Niektóre towary mają po dwa kody w jednej komórce oddzielone symbolem dzielenia / np.

20 592 / 13 740 Grabie metalowe 14 zębne+KIJ 130 STAND.
Gdzie 20 592 / 13 740 znajduję się w kolumnie z symbolami a ''Grabie metalowe 14 zębne+KIJ 130 STAND.'' w kolumnie z nazwami.
Chcę taki zapis przekształcić w

20 592 Grabie metalowe 14 zębne+KIJ 130 STAND.
13 740 Grabie metalowe 14 zębne+KIJ 130 STAND.
tak by wyszukaj.pionowo zwróciło tą samą nazwę towaru niezależnie czy wpiszę się 20 592 lub 13 740.
Załączniki
przykład 22,04,2023.ods
(19.13 KiB) Pobrany 82 razy
7.5.6.2 (X86_64)
Jan_J
Posty: 4657
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Łączenie wielu arkuszy w jeden według kolumn[solved]

Post autor: Jan_J »

Oznacz wszystkie wpisy, w których kodzie występuje separator. Zrobisz to np. za pomocą filtra.
Zrób kopię tych wpisów. Filtrowanie albo ukrywa wpisy niepasujące i te widoczne możesz powielić przez Ctr+C/Ctrl+V; albo umożliwia umieszczenie kopii przefiltrowanych danych w innym miejscu i też jest OK.
Następnie w oryginałach zostaw tylko kod sprzed '/', a w kopiach tylko kod po '/'. Do tego powinny wystarczyć wyrażenia regularne w operacji `Znajdź i zamień`.
W pierwszym
znajdź "^[^/]*/ *"
zamień na ""
zaś w drugim
znajdź " */.*$"
zamień na ""
oczywiście włącz [x] wyrażenia regularne; cudzysłowy nie wchodzą do opisu fraz.
Wyjaśnienie
"^[^/]*/ *" znaczy „startując od początku komórki weź wszystkie znaki aż do pierwszego ukośnika wraz z nim i spacjami następującymi bezpośrednio po nim”
" */.*$" znaczy „oznacz frazę rozpoczynającą się symbolem ukośnika, wraz z poprzedzającymi go bezpośrednio spacjami, i rozciągającą się aż do końca komórki”

Pracuj na kopii dokumentu, by było do czego wrócić w przypadku omyłki.
JJ
LO (26.2|26.8) ∙ Python (3.14|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ