Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Text und Zelleninhalt in einer Zelle ohne leere Zellen aufbauen
#1
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.

   

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?
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Antworten Top
#2
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
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#3
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...
Gruß der AlteDresdner (Win11, Off2021)
Antworten Top
#4
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Daniel Albert
Antworten Top
#5
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:


   

Warum ?
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Antworten Top
#6
Verdammt, wie immer! ;)
An einem Screenshot erkennt man den Fehler meist nicht.
Deine Testdatei?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Daniel Albert
Antworten Top
#7
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
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Antworten Top
#8
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Daniel Albert
Antworten Top
#9
Juhu jetzt geht es, Danke

Geht aber sogar ohne die Zusatzspalte A1 oder muss ich die mit Istleer anlegen?
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Antworten Top
#10
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.
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste