Formel mit excel

Hallo liebe wer weiss was Universum,

heute benötige ich eure Hilfe.

Ich brauche für Excel eine Formel

Meine Tabelle sieht folgendermaßen aus:

Spalte A Spalte B
01.01.2011 Hubert
01.01.2011 Steffi
01.01.2011 Hans
02.01.2011 Marie

So jetzt brauche ich eine Formel welche mir solange in der Spalte A das Datum 01.01.2011 ist sol er mir die Spalte B nehmen und den Namen in meine Ergebniss Zelle schreiben.

Ergo Ergebniss wäre in diesem Falle: Hubert, Steffi, Hans

Gruß
crusher-web

Hallo
schau dir diese Seite mal an.
Ich denke das ist die Formel die du suchst.

Beachte wie immer das bei { Matrix-Formeln } die {} geschweiften Klammern nicht mit eingegeben werden sondern die Eingabe per Tastenkombination
[STRG]+[ALT]+[Return] abgeschlossen wird.

Gruß Holger

So jetzt brauche ich eine Formel welche mir solange in der
Spalte A das Datum 01.01.2011 ist sol er mir die Spalte B
nehmen und den Namen in meine Ergebniss Zelle schreiben.

Hallo crusher-web,

benutze zur Darstellung nicht den Code-Tag sondern den Pre-Tag.

Hier eine Lösung mit zwei Hilfsspalten E ^ F.

Tabellenblatt: [Mappe1]!Tabelle1
 │ A │ B │ C │ D │ E │ F │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
 1 │ 01.01.11 │ N1 │ 01.01.11 │ N1 N2 N3 │ │ N1 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
 2 │ 01.01.11 │ N2 │ 02.01.11 │ N4 N5 N6 N7 N8 N9 │ │ N1 N2 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
 3 │ 01.01.11 │ N3 │ 03.01.11 │ N10 N11 N12 N13 │ 3 │ N1 N2 N3 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
 4 │ 02.01.11 │ N4 │ │ │ │ N4 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
 5 │ 02.01.11 │ N5 │ │ │ │ N4 N5 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
 6 │ 02.01.11 │ N6 │ │ │ │ N4 N5 N6 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
 7 │ 02.01.11 │ N7 │ │ │ │ N4 N5 N6 N7 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
 8 │ 02.01.11 │ N8 │ │ │ │ N4 N5 N6 N7 N8 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
 9 │ 02.01.11 │ N9 │ │ │ 9 │ N4 N5 N6 N7 N8 N9 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
10 │ 03.11.11 │ N10 │ │ │ │ N10 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
11 │ 03.11.11 │ N11 │ │ │ │ N10 N11 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
12 │ 03.11.11 │ N12 │ │ │ │ N10 N11 N12 │
───┼──────────┼─────┼──────────┼───────────────────┼────┼───────────────────┤
13 │ 03.11.11 │ N13 │ │ │ 13 │ N10 N11 N12 N13 │
───┴──────────┴─────┴──────────┴───────────────────┴────┴───────────────────┘
Benutzte Formeln:
D1 : =INDEX(F:F;KKLEINSTE(E:E;ZEILE()))
D2 : =INDEX(F:F;KKLEINSTE(E:E;ZEILE()))
D3 : =INDEX(F:F;KKLEINSTE(E:E;ZEILE()))
E1 : =WENN(A1=A2;"";ZEILE())
E2 : =WENN(A2=A3;"";ZEILE())
E3 : =WENN(A3=A4;"";ZEILE())
usw. in E

F1 : =B1
F2 : =WENN(A1=A2;F1&" "&B2;B2)
F3 : =WENN(A2=A3;F2&" "&B3;B3)
F4 : =WENN(A3=A4;F3&" "&B4;B4)
usw. in F

Zahlenformate der Zellen im gewählten Bereich:
A1:A13,C1:C3
haben das Zahlenformat: TT.MM.JJ
B1:B13,C4:C13,D1:smiley:13,E1:E13,F1:F13
haben das Zahlenformat: Standard

Tabellendarstellung erreicht mit dem Code in FAQ:2363

Gruß
Reinhard

hallo Reinhard,
als ich deinen Beitrag gelesen habe ist mir eingefallen das ich selbst mal nach einer vergleichbaren Lösung gesucht habe.

Damals entstand eine kleine Benutzerdefinierte Funktionen [UDF]:
Gruß Holger

Suchbegriff C1
Suchspalte A1:A100
Ergebnisspalte B1:B100

=VerkettenWenn($A$1:blush:A$100;c1;$B$1:blush:B$100)

Hier die User Defined Functions:

Option Explicit

Function VerkettenWenn(Bereich As Range, Suchkriterien As Variant, Optional Verketten_Bereich As Variant) As String
Dim r As Range, i As Long, j As Integer, s As String

If IsMissing(Verketten_Bereich) Then
Set r = Bereich
Else
Set r = Verketten_Bereich
End If
For i = 1 To Bereich.Rows.Count
For j = 1 To Bereich.Columns.Count
If Bereich.Cells(i, j).Value = Suchkriterien Then s = s & " " & r(i, j).Value
Next
Next
VerkettenWenn = Mid(s, 2)
End Function

Hallo Holger,

Hier die User Defined Functions:

ist das deine HP?

Zu deinem Code, zum einen, ich hab vor 2 Jahren IIf liebgewonnen,

also anstatt deiner IF-Schleife als Pseudocode:
Set r = IIf(Bedingung, bereich1, bereich2)

Dein Code muß wohl für eine andere Problematik codiert sein.
Hier in dem fall bringt das weglassen des dritten Parameters/Arguments wohl nicht viel.

Verstanden habe ich auch nicht warum du in zwei Schleifen die Zeilen und Spalten durchgehst.
Was ist mit
For each Zelle in BereichX

Okay, okay, ich weiß schon daß da eine Problematik bleibt.
Kann auch gut sein daß For each Zelle nicht funktioniert.
Die Problematik ist m.E. ein umgekehrtes Offset.
D.H. wenn man da mit zwei Bereichsangaben die Prozedur startet
und den einen Bereich „durchleuchtet“ der wohl warum auch immer mehrere Spalten haben kann und das Ergebnis aber in einer Spalte haben will so muß man anders vorgehen.

Wie, K.A., schau ich morgen. Wenn ich auf nix komme sage ichs dir.

PS: du kannst ja Betreffs ändern, ändere den Betreff bei deinem Beitrag bitte so ab daß er im Archiv gefunden werden kann, danke.

Gruß
Reinhard

hallo Reinhard
Der Code ist nicht von mir, ist auch nicht meine HP.
Du hast aber recht,das macht wirklich Sinn, den Betreff anzupassen.

Da ich jetzt dein Beispiel mal mit verkettenwenn() nachgestellt habe, fasse ich aber lieber die relevanten Teile zum in einem Beitrag zusammenzufassen, so das er leicht gefunden und angewendet werden kann:

Die benutzerdefiniert Funktion verkettenwenn()
Der Code wird so eingefügt

In der Tabelle sieht das dann so aus

Gruß Holger