Seite 1 von 1
verketten mehrer Spalten
Verfasst: So 23. Aug 2015, 13:01
von christian99x
Hallo zusammen,
ich habe in Calc mehrere Spalten mit Zeichenketten und ich möchte nun jede Zelle einer Spalte mit allen weiteren Spalten verketten. Also konkret:
A1 B1 C1
A2 B2 C2
A3 B3 C3
In einer weiteren Spalte möchte ich nun die Strings verketten:
A1B1C1
A1B1C2
A1B1C3
A1B2C1
....
...
A3B3C3
Vielen Dank schon mal für Hilfestellung.....
Re: verketten mehrer Spalten
Verfasst: So 23. Aug 2015, 13:52
von christian99x
ja, richtig, aber bei VERKETTEN werden die Werte nur zeilenweise verkettet. Ich möchte erreichen, dass JEDER Wert aus JEDER Spalte mit JEDEM anderen Wert verkettet wird.
Dein Vorschlag führt zu :
A1B1C1
A2B2C2
A3B3C3
....oder?
Re: verketten mehrer Spalten
Verfasst: So 23. Aug 2015, 16:11
von miesepeter
Da es Texte sind, kannst du die ja mit dem kaufmännischen UND-Zeichen verbinden, z.B.
Wenn du die Formel runterziehst, bleiben die ersten beiden Elemente gleich, das dritte wird jeweils "addiert". Wenn du's bei allen machen möchtest und dazu noch Duplikate vermeiden, wäre möglicherweise eine Matrix-Formel o.ä. hilfreich. Dazu reicht mein Wissen allerdings nicht...
Ciao
Re: verketten mehrer Spalten
Verfasst: Mo 24. Aug 2015, 00:46
von karolus
Hallo
Hier gibts ein kleines Addin, wenn du es installierst kannst du mit zB.
sämtliche Zellen von A1bis D100 verketten.
Re: verketten mehrer Spalten
Verfasst: Mo 24. Aug 2015, 11:46
von christian99x
Danke für die Antworten!
@miesepeter:
Diese Möglichkeit ist mir auch eingefallen und ich habe auch an eine Matixfunktion gedacht aber auch mein Wissen reicht dazu nicht!
@karolus:
Super Tipp zum Addon, nur habe ich damit ALLE Zellen in EINER verkettet. Das hilft mir leider nicht, dann ich benötige als Ergebnis alle Kombinationen in einzelnen Zellen
Re: verketten mehrer Spalten
Verfasst: Mo 24. Aug 2015, 15:12
von karolus
Hallo
Dir ist hoffentlich klar, das bei drei Spalten mit je 10 Texten, 1000 verschiedene Kombinationen möglich sind ?!
Re: verketten mehrer Spalten
Verfasst: Mo 24. Aug 2015, 15:49
von christian99x
Naja, 10^3 ergibt nun mal 1000 - da kann ich leider nix dafür.....

Re: verketten mehrer Spalten
Verfasst: Mo 24. Aug 2015, 17:45
von karolus
Hallo
Nagut, speichere den Code in eine Datei im Pfad
<dein LibreOffice-Benutzerverzeichnis>/Scripts/python/kombi.py, ....
....
markiere den dreispaltigen Bereich und führe die Funktion aus.
Code: Alles auswählen
def kombiniere():
doc = XSCRIPTCONTEXT.getDocument()
sel = doc.CurrentSelection
sheet = sel.Spreadsheet
address = sel.RangeAddress
nextCol = address.EndColumn +1
row = address.StartRow
a, b, c = zip(*sel.DataArray)
out = []
for first in a:
for second in b:
for third in c:
out.append(('%s%s%s' %(first,second,third),))
coords = (nextCol,
row,
nextCol ,
row +len(out)-1)
sheet.getCellRangeByPosition(*coords).setDataArray(tuple(out))