❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] Pro User und Funktion eine Zeile - möglichst schnell/einfach?

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
hylli
* LO-Experte *
Beiträge: 295
Registriert: Sa 19. Mär 2011, 19:00

[gelöst] Pro User und Funktion eine Zeile - möglichst schnell/einfach?

Beitrag von hylli » Mo 9. Mai 2022, 15:33

In der anhängenden Datei findet man auf der Tabelle "Export" die Ausgangslage, d.h. insgesamt 4 Spalten:
- UserID
- Nachname
- Vorname
- Funktionen

In der Spalte Funktionen sind 1 bis X dem User zugeordneten Funktionen durch Komma+2 Leerzeichen getrennt dargestellt.

Damit ich die Tabelle für meine Zwecke weiter verarbeiten kann, sollte pro User und Funktion jeweils eine Zeile vorhanden sein, wie in der Tabelle "Wunschergebnis" zu sehen.

"Inspiriert" durch diesen Wiki-Eintrag...
http://www.ooowiki.de/SuchenUndErsetzen ... .2BAPw-gen
...gehe ich aktuell diesen umständlichen Weg:
  1. Tabelle kopieren und im Format RTF (Richt Text Format) in Writer einfügen
  2. In Writer mit der Funktion Suchen&Ersetzen den Feldtrenner ", " (Komma + zwei Leerzeichen) ersetzen durch "\n" (=Zeilenumbruch). Nun stehen die Funktionen innerhalb einer Zelle sauber untereinander.
  3. Die in Writer so angepasste Tabelle wieder kopieren und wiederum im Format RTF (Richt Text Format) in Calc einfügen.
  4. Nun muss ich pro Funktion und Benutzer eine Zeile in der Tabelle vorsehen bzw. entsprechende Anzahl Zeilen pro Benutzer erstellen.
  5. Die Zelle mit den nun untereinander stehenden Funktionen kopiere ich nun in die Zwischenablage, füge sie in einem Texteditor ein.
  6. Anschließend kopiere ich die Funktionen im Editor wieder in die Zwischenablage und füge diese als unformatierten Text wieder in die Tabellenkalkulation ein, so dass pro Funktion eine Zeile/Zelle verwendet wird.
  7. Zu guter letzt kopiere ich den jeweiligen Benutzer in der Tabellenkalkulation und füge diesen so oft ein, wie zugeordnete Funktionen vorhanden sind.
Die Frage ist:
Geht das irgendwie einfacher, schneller oder gar mit Funktionen?

Hylli
Pro_User_und_Funktion_eine_Zeile.ods
(11.31 KiB) 73-mal heruntergeladen
Zuletzt geändert von hylli am Di 10. Mai 2022, 13:07, insgesamt 1-mal geändert.
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2582
Registriert: Fr 10. Dez 2010, 10:01

Re: Pro User und Funktion eine Zeile - möglichst schnell/einfach?

Beitrag von karolus » Mo 9. Mai 2022, 18:06

Hallo

Code: Alles auswählen

def normalize_data(*_):
    doc = XSCRIPTCONTEXT.getDocument()
    sel = doc.CurrentSelection
    data = sel.DataArray
    out = []
    for uid, nachname, vorname, functions in data:
        for function in functions.split(",  "):
            out.append([uid, nachname, vorname, function])
    undo = doc.getUndoManager()
    undo.enterUndoContext("expand_functions")
    cursor = sel.Spreadsheet.createCursorByRange(sel)
    cursor.collapseToSize(len(out[0]), len(out)) 
    cursor.DataArray = out
    undo.leaveUndoContext()
Pro_Funktion_eine_Zeile_python.ods
(10.59 KiB) 65-mal heruntergeladen
Selektiere den Bereich ( hier A2:D4 ) und: →Makro→Macros ausführen→Pro_Funktion_eine_Zeile_python.ods →→opti→normalize_data
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

hylli
* LO-Experte *
Beiträge: 295
Registriert: Sa 19. Mär 2011, 19:00

Re: Pro User und Funktion eine Zeile - möglichst schnell/einfach?

Beitrag von hylli » Di 10. Mai 2022, 10:02

Wow!!! Was so wenige Zeilen Code bewirken können.

Funktioniert tadellos!

Damit wird der Umgang mit "diesen" Exporten wieder erträglicher, vielen Dank @karolus.

Hylli
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)

hylli
* LO-Experte *
Beiträge: 295
Registriert: Sa 19. Mär 2011, 19:00

Re: [gelöst] Pro User und Funktion eine Zeile - möglichst schnell/einfach?

Beitrag von hylli » Di 10. Mai 2022, 13:08

Ich setze hier mal auf gelöst, natürlich dürfen aber gerne weitere Vorschläge gemacht werden.

Hylli
Geschäftlich: LibreOffice 7.2.x(als Citrix-Anwendung)
Privat: LibreOffice 7.3.x unter Linux Mint Cinnamon 64bit (jeweils aktuelle Version)


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten