❤️ Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! ❤️
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ 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. 🤗

String nach Array wandeln

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Hans-Sch
Beiträge: 6
Registriert: So 19. Dez 2021, 14:46

String nach Array wandeln

Beitrag von Hans-Sch » So 19. Dez 2021, 18:08

Hallo zusammen,
ich möchte aus einer Spalte die leeren Zellen rausfiltern und mir ein Array erstellen lassen, in dem nur die nicht-leeren drin sind. Die Ausgangslage sieht etwa so aus, sagen wir in Spalte A:

Code: Alles auswählen

a
b


c

d
Mit der Formel

Code: Alles auswählen

TEXTJOIN(";";TRUE();A1:A7)
wird daraus das Ergebnis

Code: Alles auswählen

1;2;5;7
Ich möchte daraus gern ein vertikales Array (1x4 Felder) machen, in dem diese Werte drin stehen. Am liebsten mit einer Arrayformel. Hat jemand eine Idee?

Nachtrag: Ich kann das Ergebnis kopieren, als Wert einfügen, geschweifte Klammern drum und ein Istgleich davor setzen und dann mit Ctrl+Shift+Enter eine Arrayformel draus machen. Das bringt das gewünschte Ergebnis. Aber ich möchte es ohne diesen manuellen Zwischenschritt hinkriegen.

mikele
* LO-Experte *
Beiträge: 1932
Registriert: Mo 1. Aug 2011, 20:51

Re: String nach Array wandeln

Beitrag von mikele » So 19. Dez 2021, 18:53

Hallo,
möchtest du die Werte {a;b;c;d} oder die Zeilennummern {1;2;5;7} im Array haben?
Soll mit dem Array dann noch etwas passieren?
Gruß,
mikele

Hans-Sch
Beiträge: 6
Registriert: So 19. Dez 2021, 14:46

Re: String nach Array wandeln

Beitrag von Hans-Sch » So 19. Dez 2021, 19:02

Hallo Mikele, das Ziel wären die Werte {a;b;c;d}, aber mit den Zeilennummern als Zwischenschritt wäre ich auch zufrieden.

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

Re: String nach Array wandeln

Beitrag von karolus » So 19. Dez 2021, 19:13

Hallo

=WENNFEHLER(REGAUS(VERBINDEN(";";1;A1:A7);"[^;]+"; ;{1;2;3;4;5;6;7});"")
Falls du englische Funktionsnamen verwendest, wäre das wohl:

=IFERROR(REGEX(TEXTJOIN(";";1;A1:A7);"[^;]+"; ;{1;2;3;4;5;6;7});"")

als Matrix-formel mit strg+shift+enter bestätigen.
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Hans-Sch
Beiträge: 6
Registriert: So 19. Dez 2021, 14:46

Re: String nach Array wandeln

Beitrag von Hans-Sch » So 19. Dez 2021, 22:04

Hallo karolus, danke, das funktioniert! Ich werde erstmal versuchen, Deine Formel zu verstehen, komme evtl. nochmal deshalb auf Dich zu. Mit Regex kenne ich mich im allgemeinen aus, aber den speziellen Dialekt von LO muss ich mir noch anschauen.

Allerdings habe ich das Problem, dass die Daten, auf die ich das dann anwenden will, ca. 1500 Zeilen umfassen. Muss ich dann das Array {1;...;7} von Hand anpassen, oder gibt es da auch eine einfache Formel? (So wie ich den Bereich als A1:A1500 definieren kann statt als A1;A2;A3;...)

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

Re: String nach Array wandeln

Beitrag von karolus » So 19. Dez 2021, 23:03

Hallo

In dem Masstab ist es absurd per Formel!

Markiere A1:A1500 und wähle:
→Daten→Filter→Standardfilter→→Kriterium <nicht leer >
und →→Optionen →Ausgabe nach : <deine Zielzelle>
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Hans-Sch
Beiträge: 6
Registriert: So 19. Dez 2021, 14:46

Re: String nach Array wandeln

Beitrag von Hans-Sch » Mo 20. Dez 2021, 19:44

Nee karolus, so absurd ist es nicht, ich will damit statistische Informationen aus einer sich ständig ändernden Datenbank sichtbar machen. Aber ich habe einen Denkfehler gemacht: Auch wenn die Tabelle ca. 1500 Zeilen hat, gibt es doch nur ca. 30 verschiedene Strings, die in dieser Spalte stehen. Und das tipp ich notfalls zu Fuß ;)

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

Re: String nach Array wandeln

Beitrag von karolus » Mo 20. Dez 2021, 22:01

Hans-Sch hat geschrieben:
Mo 20. Dez 2021, 19:44
…, gibt es doch nur ca. 30 verschiedene Strings, die in dieser Spalte stehen. Und das tipp ich notfalls zu Fuß ;)
Na gut, wenns maximal 30 sind dann:

Code: Alles auswählen

=WENNFEHLER(REGAUS(VERBINDEN(" ";1;A$1:A$1500);"[^ ]+"; ; ZEILE(A$1:A$30));"")
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)


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