Seite 1 von 2

Begriff Spalte 1 (bestehend aus 50 Zeilen) > 34mal wiederholen untereinander in neue Spalte

Verfasst: Do 21. Aug 2025, 15:30
von sandsonne
Liebe Forengemeinde,
heute nun eine weitere Frage. Höchst hilfreich und vorsorglich meinen besten Dank.

In Spalte 1 enthält untereinander 50 Berufe.

[ 1 ] Ich bräuchte für jeden Beruf eine separate neue Spalte
[ 2 ] In dieser neuen separaten Spalte müßte der jeweilige Beruf aus Spalte 1 insgesamt 34mal untereinander eingetragen werden.

Gibt es dafür überhaupt eine Lösung?

Nochmals besten Dank - auch fürs' lesen. Tabelle anbei.

Re: Begriff Spalte 1 (bestehend aus 50 Zeilen) > 34mal wiederholen untereinander in neue Spalte

Verfasst: Do 21. Aug 2025, 16:01
von RPP63
Moin!
• in B1: =MTRANS(A1:A50)
• jetzt gibst Du ins Namensfeld oben links B2:AY34 ein und bestätigst mit Enter
• als Formel gibst Du =B$1 ein und bestätigst mit Alt+Enter
• fettich!

Gruß Ralf

Re: Begriff Spalte 1 (bestehend aus 50 Zeilen) > 34mal wiederholen untereinander in neue Spalte

Verfasst: Do 21. Aug 2025, 16:02
von miesepeter
Falls ich dein Anliegen richtig verstehe:

Du kannst die Berufe aus Spalte 1 kopieren und in Zelle B1 transponiert einfügen.
Wenn du Zeile 1 vom ersten Eintrag in Zelle B1 bis zum Ende markierst, dann könntest du mit dem Ausfüllcursor alle Einträge z. B. 34-mal nach unten kopieren.
.
Fürs Forum 02.ods
(34.53 KiB) 86-mal heruntergeladen

Re: Begriff Spalte 1 (bestehend aus 50 Zeilen) > 34mal wiederholen untereinander in neue Spalte

Verfasst: Do 21. Aug 2025, 16:10
von sandsonne
RPP63 hat geschrieben:
Do 21. Aug 2025, 16:01
Moin!
• in B1: =MTRANS(A1:A50)
• jetzt gibst Du ins Namensfeld oben links B2:AY34 ein und bestätigst mit Enter
• als Formel gibst Du =B$1 ein und bestätigst mit Alt+Enter
• fettich!

Gruß Ralf
Danke RAlf. Die Formel: =B$1 wo gebe ich die ein?

Re: Begriff Spalte 1 (bestehend aus 50 Zeilen) > 34mal wiederholen untereinander in neue Spalte

Verfasst: Do 21. Aug 2025, 16:11
von sandsonne
miesepeter hat geschrieben:
Do 21. Aug 2025, 16:02
Falls ich dein Anliegen richtig verstehe:

Du kannst die Berufe aus Spalte 1 kopieren und in Zelle B1 transponiert einfügen.
Wenn du Zeile 1 vom ersten Eintrag in Zelle B1 bis zum Ende markierst, dann könntest du mit dem Ausfüllcursor alle Einträge z. B. 34-mal nach unten kopieren.
.
Fürs Forum 02.ods
...ja TOP! Dankeschön. Perfekt.

Re: Begriff Spalte 1 (bestehend aus 50 Zeilen) > 34mal wiederholen untereinander in neue Spalte

Verfasst: Do 21. Aug 2025, 16:13
von sandsonne
Für den Fall das ich unverschämt bin, bitte diese letzte Frage dann einfach ignorieren.

Bekomme ich nun diese Spalten auch wieder untereinander sodaß alle jeweils 34 Zellinhalte untereinander stehen also z.b. die 34 Betriebselektriker unter die 34 Elektriker usw.? Wären dann 1700 Zeilen...

Re: Begriff Spalte 1 (bestehend aus 50 Zeilen) > 34mal wiederholen untereinander in neue Spalte

Verfasst: Do 21. Aug 2025, 16:17
von RPP63
sandsonne hat geschrieben:
Do 21. Aug 2025, 16:10
Die Formel: =B$1 wo gebe ich die ein?
In die Eingabezeile (rechts neben dem Namensfeld)?

Re: Begriff Spalte 1 (bestehend aus 50 Zeilen) > 34mal wiederholen untereinander in neue Spalte

Verfasst: Do 21. Aug 2025, 16:23
von RPP63
sandsonne hat geschrieben:
Do 21. Aug 2025, 16:13
Wären dann 1700 Zeilen...
• ins Namensfeld B1:B1700Enter
• in die Eingabezeile =INDEX(A:A;AUFRUNDEN(ZEILE(X1)/34;))Alt+Enter

Re: Begriff Spalte 1 (bestehend aus 50 Zeilen) > 34mal wiederholen untereinander in neue Spalte

Verfasst: Do 21. Aug 2025, 16:29
von Mondblatt24
Hallo,

es geht noch ein bisschen einfacher.

Wenn du MTRANS ausgeführt hast, änderst du im Namensfeld AY1 in AY34 drückst Enter und anschließend Strg+D.

2025-08-21 16 24 13.png
2025-08-21 16 24 13.png (16.91 KiB) 272 mal betrachtet

2025-08-21 16 30 34.png
2025-08-21 16 30 34.png (120.21 KiB) 271 mal betrachtet

Gruß
Peter

Re: Begriff Spalte 1 (bestehend aus 50 Zeilen) > 34mal wiederholen untereinander in neue Spalte

Verfasst: Do 21. Aug 2025, 19:15
von karolus
Hallo
Ein wenig Code-Golf:

Code: Alles auswählen

def repeat_transposed(*_):
    
    doc, r, h = XSCRIPTCONTEXT.getDocument(), 34, 50   
    sheet= doc.CurrentController.ActiveSheet
    data = sheet[:h,0].DataArray
    sheet[:h,0].clearContents(-1)    
    sheet[:r, :h].DataArray = tuple(zip(*[entry * r for entry in data]))