Clever-Excel-Forum

Normale Version: Text und Zelleninhalt in einer Zelle ohne leere Zellen aufbauen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

folgende Herausforderung. Ich möchte aus den folgenden Zeilenbereich einen Text zusammensetzen. Problem ist aber das wenn sich leere Zellen dazwischen befinden dannpasst der Text nicht mehr.

[attachment=12525]

Es sollte der Text wie folgt zusammengesetzt werden: Kinderzulage für Ben & Martin.

Die restlichen & sollen dann nicht mehr angezeigt werden.

Aktuell ich folgende Formel eingebaut denke aber ich muss die Zellen vorher aufbereiten


Code:
="Kinderzulage von "&G36&" &"&G37&" &"&G38&" &"&G39&" &"&G40&" &"&G41


Über folgenden Link http://www.herber.de/excelformeln und bitte suchen .../formeln.html?welcher=43 geht es aber nicht da dann ja trotzdem noch Leerzeilen nach dem Inhalt "Kneipe" vorhanden sind.

Geht das überhaupt?
Daniel Albert,

ja das geht.
 GHIJ
36BenBen  
37 Ben  
38MartinBen  Martin  
39 Ben  Martin  
40 Ben  Martin  
41 Ben  Martin  
42    
43Kinderzulage für Ben & Martin   
44Kinderzulage für Ben & Martin   

ZelleFormel
H36=G36
H37=H36&" "&G37
H38=H37&" "&G38
H39=H38&" "&G39
H40=H39&" "&G40
H41=H40&" "&G41
G43="Kinderzulage für "&TEXTVERKETTEN(" & ";WAHR;$G$36:$G$41)
G44="Kinderzulage für "&WECHSELN(GLÄTTEN(G36&" "&G37&" "&G38&" "&G39&" "&G40&" "&G41);" ";" & ")
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Hallo Daniel,
zunächst die vermutlich korrekte (weil ungetestete) Version Deiner Formel:

Code:
="Kinderzulage von " & G36 & " " & G37 &" " & G38 & " " & G39 & " " & G40 &" " & G41
Wenn Du dann noch überflüssige Leerzeichen weghaben willst, ist es etwas länger (hier nur am Beispiel G39):
Code:
... G38 & WENN(G39 = ""; ""; " " & G39) & ...
Da war shift-del wieder schneller und besser...
Moin!
Nur als Ergänzung mal eine Lösung per UDF (User defined function)
Modul Modul1
Option Explicit 
 
Function TxtKette(rng As Range) As String 
Dim arr, i# 
arr = rng.Value 
For i = 1 To Ubound(arr) 
  If Not IsEmpty(arr(i, 1)) Then _
    TxtKette = TxtKette & arr(i, 1) & " & " 
Next 
TxtKette = Left(TxtKette, Len(TxtKette) - 3) 
End Function 
 

Ergibt im Tabellenblatt:

AB
1PeterZulage für Peter & Max & Paul
2
3Max
4
5
6Paul
Formeln der Tabelle
ZelleFormel
B1="Zulage für "&TxtKette(A1:A6)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Gruß Ralf
Verdammt wie immer, bei mir geht es nicht richtig:

Ich habe in der gelb markierten Zelle deine Formel eingetragen: ="Zulage für "&TxtKette(G36:G41) und deinen Code unter Modul2 eingetragen

so sieht jetzt das Ergebnis aus:


[attachment=12530]

Warum ?
Verdammt, wie immer! ;)
An einem Screenshot erkennt man den Fehler meist nicht.
Deine Testdatei?

Gruß Ralf
Ahh verdammt, Punkt gefunden. In den Zellen wo die Namen dann stehen findet eine Prüfung mit folgender Formel statt

=WENN(C36<"";A36;"")

Somit steht ja was in der Zelle
Dann muss die Prüfung anders lauten:
Function TxtKette(rng As Range) As String
Dim arr, i#
arr = rng.Value
For i = 1 To Ubound(arr)
  If Not arr(i, 1) = vbNullString Then _
    TxtKette = TxtKette & arr(i, 1) & " & "
Next
TxtKette = Left(TxtKette, Len(TxtKette) - 3)
End Function

Hier mal eine sinnfreie Formel, um den Leerstring zu erzeugen:
ABC
1PeterPeterZulage für Peter & Max & Paul
2
3MaxMax
4
5
6PaulPaul
Formeln der Tabelle
ZelleFormel
A1=WENN(ISTLEER(B1);"";B1)
C1="Zulage für "&TxtKette(A1:A6)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Gruß Ralf
Juhu jetzt geht es, Danke

Geht aber sogar ohne die Zusatzspalte A1 oder muss ich die mit Istleer anlegen?
Hallo,

jetzt ist mir aufgefallen, wenn keine Kinder vorhanden sind dann steht in der Zeile: #wert

Nun habe ich folgende Formel eingebaut mit welcher es geht aber finde die sehr verschachtelt. Gibt es eine einfachere:

=WENN(ODER(Kunden!B8="Ja";UND(Kunden!B60="";Kunden!B61="";Kunden!B62="";Kunden!B63="";Kunden!B64="";Kunden!B65=""));"";"Kinderzulage für "&TxtKette(Kunden!B60:B65))

Ich habe es anders nicht hinbekommen.
Seiten: 1 2