Clever-Excel-Forum

Normale Version: Formel für Verkettung mit "Komma" und "und"
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich bin jetzt schon lange am rumprobieren und suchen, aber irgendwie finde ich nichts, was mich sehr irritieret.

Ich möchte aus einer  Zeile Werte so auslesen, dass sie mit Komma und am Ende mit einem "und" als ganzer Satz erscheinen. Mein Problem ist dabei, dass ich nicht weiß, in welcher Zelle der letzte Eintrag ist.

In der unten zu sehenen Tabelle habe ich diese Formel eingestezt:

F2=A2&" isst gerne "&B2&C2&D2&E2&". "

[
Bild bitte so als Datei hochladen: Klick mich!
]

Das hier habe ich gefunden, allerdings verstehe ich hier nichts und ich hätte es auch gerne als Formel direkt in der Matrix: http://www.ms-office-forum.net/forum/sho...p?t=326872

Besten DANK
PAT
Hallo,

PHP-Code:
=A2&" isst gerne "&WENN(B2<>"";B$1&" und ";"")&WENN(C2<>"";C$1&" und ";"")&WENN(D2<>"";$D1&" und ";"")&WENN(E2<>"";E$1;""
Hallo Jonas,

danke für deine schnelle Antwort. Allerdings ist das genau das, womit ich kämpfe. Denn deine Formel erzeugt nun dies:

[
Bild bitte so als Datei hochladen: Klick mich!
]

Ich habe auch schon viel mit wenn(...) rumprobiert, aber bei der Anzahl der Spalten brech ich dann irgenwann ab.
Ich habe die Datei mal angehängt. Vielleicht gibt es ja jemanden, der damit rumspielen möchte.

Bitte bedenkt dabei, dass ich viele dieser Spalten habe.

LG PAT
Servus PAT,

versuch' mal mit Hilfsspalten ... ansonsten bricht man sich ja die Finger :D

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEFGHI
1ÄpfelBirnenBananenKiwi
2JensÄpfelKiwiÄpfel, Kiwi,Äpfel, KiwiÄpfel und KiwiJens isst gerne Äpfel und Kiwi.

ZelleFormel
F2=WENN(ISTLEER(B2);"";B2&", ") &WENN(ISTLEER(C2);"";C2&", ") &WENN(ISTLEER(D2);"";D2&", ") &WENN(ISTLEER(E2);"";E2&", ")
G2=LINKS(F2;LÄNGE(F2)-2)
H2=WENNFEHLER(WECHSELN(G2;",";" und";ZÄHLENWENN(B2:E2;"<>")-1);G2)
I2=A2&" isst gerne "&H2&". "
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

LG Gerd
Hallo,

was genau ist denn das gewünschte Ergebnis. Eventuell könnte man, wenn gewünscht/erwünscht, auch eine UDF in betracht ziehen.
Hallo Gert,

auch dir vielen DANK. Da habe ich doch schon wieder etwas dazu gelernt. Es ist schon fast die Lösung meines Problems, allerdings gibt es noch einen kleinen Haken.

Die Felder aus denen das Obst ausgelesen werden, sehen zwar teilweises leer aus, sind es aber nicht, da sie Formeln beinhalten. Mit deiner Formel werden viele Kommas hintereinander produziert.

Ich habe daher die Formel für F2 so geändert.

F2=WENN(B2="";"";B2&", ") &WENN(C2="";"";C2&", ") &WENN(D2="";"";D2&", ") &WENN(E2="";"";E2&", ")

Das Problem ist nun, dass deine Formel in H2 kein "und" mehr erzeugt und ich verstehe nicht warum, bzw wie ich es ändern kann.

Ich habe meine überarbeitete Beispieldatei erneut eingefügt und freue mich über Hilfe.

LG PAT
Hallo Jonas,

ich habe mich gerade mal schlau gemacht, was UDF überhaupt ist. Das hatte ich bis eben noch nie gehört. Formeln selbst basteln, wow!

Das Ergebnis soll so sein, wie Gerd es für mich schon halb gelöst hat. Da ich das aber oft brauche wäre natürlich eine Lösung toll, mit der ich das ganze in einer Zelle hinbekomme.

Ideal wäre es, wenn ich einen Bereich (unterschiedlich groß, aber immer in einer Zeile) angeben könnte und dann alles direkt mit Komma und einem "und" aufgelistet wird. Wenn du mir da helfen kannst, wäre ich dir sehr dankbar.

LG Pat
Hallo Pat,

Spalte J ist doch identisch mit Spalte I - brauchst du m.E. nicht. Du beziehst dich in Spalte K ja auch auf Spalte I und nicht Spalte J.
Die Formel von Gerd funktioniert nicht mehr, weil deine Ausgangstabelle eben nicht mehr leer ist, sondern "" enthält
In I3 statt
=WENNFEHLER(WECHSELN(H3;",";" und";ZÄHLENWENN(B3:E3;"<>")-1);H3)
=WENNFEHLER(WECHSELN(H3;",";" und";ZÄHLENWENN(B3:E3;"")-1);H3)
bzw.
=WENNFEHLER(WECHSELN(H3;",";" und";F3-1);H3)

Wobei mir nicht klar ist, wieso du die Quelldatei  nochmals in Zeile 3-5 überträgst. Was hat dies für einen Sinn?
Wenn du übrigens Excel16 im Einsatz hättest, gäbe es dafür die neue Fkt Textverketten(). MS hat wohl gemerkt, dass dieser Anwendungsfall häufiger verlangt wurde.
Hallo Pat,

da musst Du nur "<>" durch "?*" ersetzen ...

Arbeitsblatt mit dem Namen 'Tabelle1'
I
3Äpfel und Kiwi

ZelleFormel
I3=WENNFEHLER(WECHSELN(H3;",";" und";ZÄHLENWENN(B3:E3;"?*")-1);H3)
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

LG Gerd
Hallo,

hier ergänzend eine UDF. Diese in ein allgemeines Modul kopieren, danach kann Sie im Arbeitsblatt mit =cTextJoin(A3;B3:E3) aufgerufen werden.

PHP-Code:
Option Explicit

'Parameter:
'
NameWerte (Früchte..), Delimiter (OptionalStandard ", ")

Public Function 
cTextJoin_
    ByVal n 
As Variant_
    ByVal w 
As Variant_
    Optional ByVal d 
As Variant ", ") As String
    
    Dim z
    Dim s 
As String
                
    s 
" isst gerne "
 
   
    For Each z In w
        If z 
<> "" Then s ", "
 
   Next z
    
    cTextJoin 
Left(sLen(s) - Len(d))
End Function 
Seiten: 1 2