Zellen aus einer Spalte auf mehrere Spalten verteilen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

YNiko1997
Beiträge: 1
Registriert: Fr, 31.01.2025 22:49

Zellen aus einer Spalte auf mehrere Spalten verteilen

Beitrag von YNiko1997 »

Moin,

wollte nur eben meine Lösung für ein Problem teilen.
Ich hatte das Problem, dass ich Daten in Calc einfügen wollte, diese sich zwar in einzelne Zellen, jedoch nicht in verschiedene Spalten einfügen lassen wollten.
Ich hatte also alle Daten in einer Spalte und wollte z.B. jede fünfte Zelle(1,6,11,etc.) in Spalte 1 sortieren(Dementsprechend auch Zelle(2,7,12, etc.) in Spalte 2).

Meine Lösung funktionierte nun mit folgender Formel:

=INDIREKT("A"&(ZEILE()-1)*5+1) (in Zelle B1) // =INDIREKT("A"&(ZEILE()-1)*5+2) (in Zelle C1) // =INDIREKT("A"&(ZEILE()-1)*5+3) (in Zelle D1) // bis 5+5

INDIREKT um einen variablen Zellbezug zu haben
"A" Die Spalte in der die unsortierten Daten sich befinden
&(ZEILE()-1)*5+1) um die entsprechende Zeile zu finden
- & damit die Syntax weiß hier kommt ne Formel und die Klammer dahinter wegen Punkt vor Strich
- ZEILE() um die interne Nummer der eigenen Zeile zu finden (Zelle B1 wirft "1" aus)
- -1 um auch das erste Ergebnis (A1) zu greifen und nicht das zweite (A6)
- *5 Anzahl der Spalten auf die die Daten aufgeteilt werden soll (A1,A2,A3,A4,A5 -> B1,C1,D1,E1,F1)
- +1 um das erste der 5 Ergebnisse zu nehmen // +2 um das zweite zu nehmen

TL:DR die Formel bezieht sich auf die erste Spalte und verrechnet die eigene Zeilennummer mit der Anzahl der zu erstellenden Spalten.

Gibt bestimmt noch andere Anwendungsfälle für die Formel, deswegen der Post.
Ich freue mich natürlich auch über bessere Lösungen für das Problem.

Beste Grüße Yannik
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Zellen aus einer Spalte auf mehrere Spalten verteilen

Beitrag von Karolus »

Hallo
Für Libreoffice seit Version 24.8.…
Angenommen deine Quelldaten stehen in A1:A100
Selektiere den Bereich B1:F20 … nimm die Formel:

Code: Alles auswählen

=INDEX(A:A;FOLGE( ;5;ZEILE()*5-4))
und bestätige die Formel mit [strg][shift][enter]

Analog dazu für AOO und ältere LO Versionen:

Code: Alles auswählen

=INDEX($A$1:$A$100;SPALTE(A1:E1)+ZEILE()*5-5)
und ebenso bestätigen mit: [strg][shift][enter]
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten