[SOLVED] Kopiowanie treści z tabeli w zmienionej kolejności
[SOLVED] Kopiowanie treści z tabeli w zmienionej kolejności
Szukam sposobu na skopiowanie całej tabeli do kolejnego arkusza, ale w zmienionej kolejności: na przykład w tabeli mam 20 pracowników i ich wszystkie dane dotyczące ztrudnienia. Do kolejnego arkusza chciałbym przekopiować te dane w zmienionej kolejności, czyli to co było w kolejnych kolumnach żeby teraz było w różnych komórkach - żeby powstał swego rodzaju podsumowanie warunków zatrudnienia dla każdego pracownika
Ostatnio zmieniony śr lut 02, 2022 12:46 am przez Laluś, łącznie zmieniany 1 raz.
Libreoffice 6.4 dla LINUX
Re: Kopiowanie treści z tabeli w zmienionej kolejności
Czy z poziomu formularza dot. pojedynczego pracownika masz zunifikowany dostęp do jego danych? np. że pracownik „leży” w osobnym arkuszu, w którego komórce B3 widnieje jego numer ewidencyjny, taki jak w tabeli, z której chcesz pobrać dane?
Jeśli tak, to przyjrzyj się funkcjom:
WYSZUKAJ.PIONOWO
oraz tandemowi PODAJ.POZYCJĘ i INDEKS
W obu przypadkach zadziała to inaczej niż zamierzasz, bo w odwrotną stronę: to nie dane skopiują się do formularzy, tylko formularz będzie pobierał dane z tablicy. Nie trzeba tego robić 20 razy; raczej zbudować szablon takiego formularza i powielić go.
Jest też inna możliwość: wygenerować formularze nie jako dokumenty Calca zaciągające dane przez z formuły, tylko jako „korespondencję seryjną” pobierającą zmienne fragmenty z Twojej tabeli do przygotowanego szablonu.
Sztywne „wrzucenie” danych w odpowiednie miejsca w już przygotowanych dokumentach wymagałoby napisania kawałka kodu programistycznego; nie wiem czy to jest to na czym Ci zależy.
Jeśli tak, to przyjrzyj się funkcjom:
WYSZUKAJ.PIONOWO
oraz tandemowi PODAJ.POZYCJĘ i INDEKS
W obu przypadkach zadziała to inaczej niż zamierzasz, bo w odwrotną stronę: to nie dane skopiują się do formularzy, tylko formularz będzie pobierał dane z tablicy. Nie trzeba tego robić 20 razy; raczej zbudować szablon takiego formularza i powielić go.
Jest też inna możliwość: wygenerować formularze nie jako dokumenty Calca zaciągające dane przez z formuły, tylko jako „korespondencję seryjną” pobierającą zmienne fragmenty z Twojej tabeli do przygotowanego szablonu.
Sztywne „wrzucenie” danych w odpowiednie miejsca w już przygotowanych dokumentach wymagałoby napisania kawałka kodu programistycznego; nie wiem czy to jest to na czym Ci zależy.
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: Kopiowanie treści z tabeli w zmienionej kolejności
Uważam, że bardzo słabo opisałeś swój problem. Napisanie:
Rozwiązania zaproponowane przez @Jan_J mają charakter uniwersalny. Formuły możesz wstawiać w dowolnych komórkach, pobierając w ten sposób wymagane dane z tabeli podstawowej.
Poza tym, co właściwie oznacza
nie wyjaśnia niczego.Laluś pisze:...to co było w kolejnych kolumnach żeby teraz było w różnych komórkach..
Rozwiązania zaproponowane przez @Jan_J mają charakter uniwersalny. Formuły możesz wstawiać w dowolnych komórkach, pobierając w ten sposób wymagane dane z tabeli podstawowej.
Poza tym, co właściwie oznacza
skoro jak sam napisałeś w tabeli podstawowejLaluś pisze:żeby powstał swego rodzaju podsumowanie warunków zatrudnienia dla każdego pracownika
Laluś pisze:mam 20 pracowników i ich wszystkie dane dotyczące ztrudnienia
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.
Re: Kopiowanie treści z tabeli w zmienionej kolejności
Cóż... nie ma się co oszukiwać, słabo się na tym znam, więc i wyjaśnienie problemu jest dla mnie trudne.
Bardziej opisowo:
W tabeli mam dane 20 pracowników, w wierszach są kolejni pracownicy, natomiast w kolumnach ich dane zatrudnienia, od kiedy, jaka forma zatrudnienia, jaka stawka, jaka premia itp itd.
Zależy mi, żeby w kolejnym arkusz z każdego z tych wierszy tworzyło się 'podsumowanie' ale juz nie w formie tabeli. Zatem te same dane będą zamiast zajmować zakres A1:P1, teraz będą przedstawione w zakresie A1:F7, nie jako suche dane, ale z opisem - czy to dodanym czy to zaciągniętym z innej komórki. Czyli format i opisy dla każdego pracownika jest jednakowy, natomiast zmieniają się dane zaciągnięte z tabeli.
Oczywiście można napisać do każdej komórki takie odniesienie ręcznie, ale chciałbym to zautomatyzować, czyli właśnie stworzyć szablon, który po zmianie na przykład Lp. będzie zaciągał sobie dane z innego wiersza.
Bardziej opisowo:
W tabeli mam dane 20 pracowników, w wierszach są kolejni pracownicy, natomiast w kolumnach ich dane zatrudnienia, od kiedy, jaka forma zatrudnienia, jaka stawka, jaka premia itp itd.
Zależy mi, żeby w kolejnym arkusz z każdego z tych wierszy tworzyło się 'podsumowanie' ale juz nie w formie tabeli. Zatem te same dane będą zamiast zajmować zakres A1:P1, teraz będą przedstawione w zakresie A1:F7, nie jako suche dane, ale z opisem - czy to dodanym czy to zaciągniętym z innej komórki. Czyli format i opisy dla każdego pracownika jest jednakowy, natomiast zmieniają się dane zaciągnięte z tabeli.
Oczywiście można napisać do każdej komórki takie odniesienie ręcznie, ale chciałbym to zautomatyzować, czyli właśnie stworzyć szablon, który po zmianie na przykład Lp. będzie zaciągał sobie dane z innego wiersza.
Libreoffice 6.4 dla LINUX
Re: Kopiowanie treści z tabeli w zmienionej kolejności
Słabo umiem w arkusze, więc i wytłumaczyć trudno xD ale tak, masz rację, jak usiadłem do tego na wypoczętego, to niezbyt zrozumiale napisałem
W załączniku przykład: w arkuszu 1 dane pracowników w tabeli, w arkuszu drugim przykładowe podsumowanie (z odniesieniami wklepanymi ręcznie) które chciałbym stworzyć, które chiciałbym żeby było kopiowalne, tj: wpisując kolejne Lp. Podsumowanie będzie się odnosiło do kolejnego pracownika.
Poniekąd rozumiem co zaproponował @Jan_J, tylko jeszcze nie udało mi się tego zastosować.
W załączniku przykład: w arkuszu 1 dane pracowników w tabeli, w arkuszu drugim przykładowe podsumowanie (z odniesieniami wklepanymi ręcznie) które chciałbym stworzyć, które chiciałbym żeby było kopiowalne, tj: wpisując kolejne Lp. Podsumowanie będzie się odnosiło do kolejnego pracownika.
Poniekąd rozumiem co zaproponował @Jan_J, tylko jeszcze nie udało mi się tego zastosować.
- Załączniki
-
- Płace przykład.ods
- (12.68 KiB) Pobrany 68 razy
Libreoffice 6.4 dla LINUX
Re: [SOLVED] Kopiowanie treści z tabeli w zmienionej kolejno
Idąc tropem wskazówek @Jan_J:
Obszarowi twoich danych o pracownikach nadałem nazwę "Załoga", Obejmuje on teraz zakres komórek od A5:V25 i jest otoczony zieloną krawędzią. Napisałeś bowiem, że mogą tu się znaleźć jakieś inne informacje, o których na razie jeszcze nic nie wiesz. Ta nazwa będzie używana w formułach zamiast adresu.
W Arkusz2:
W pozycji nazwiska wykorzystałem możliwości kontroli poprawności danych i w tej komórce (po kliknięciu) pojawi się rozwinięta lista nazwisk pracowników. Wybór pracownika sprawi, że górnym lewym rogu tego formularza pojawi się numer wiersza w obszarze "Załoga", właściwego dla wybranej osoby.
Jest tam wykorzystana funkcja: PODAJ.POZYCJĘ().
W kolejnych komórkach zastosowana jest funkcja INDEKS(), która z podanego wiersza i odpowiedniej kolumny obszaru "Załoga" zwraca wymaganą zawartość.
W zwracanym pliku wyłączyłem łącze do pliku zewnętrznego.
Obszarowi twoich danych o pracownikach nadałem nazwę "Załoga", Obejmuje on teraz zakres komórek od A5:V25 i jest otoczony zieloną krawędzią. Napisałeś bowiem, że mogą tu się znaleźć jakieś inne informacje, o których na razie jeszcze nic nie wiesz. Ta nazwa będzie używana w formułach zamiast adresu.
W Arkusz2:
W pozycji nazwiska wykorzystałem możliwości kontroli poprawności danych i w tej komórce (po kliknięciu) pojawi się rozwinięta lista nazwisk pracowników. Wybór pracownika sprawi, że górnym lewym rogu tego formularza pojawi się numer wiersza w obszarze "Załoga", właściwego dla wybranej osoby.
Jest tam wykorzystana funkcja: PODAJ.POZYCJĘ().
W kolejnych komórkach zastosowana jest funkcja INDEKS(), która z podanego wiersza i odpowiedniej kolumny obszaru "Załoga" zwraca wymaganą zawartość.
W zwracanym pliku wyłączyłem łącze do pliku zewnętrznego.
- Załączniki
-
- Laluś Płace przykład.ods
- (14.19 KiB) Pobrany 72 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.