Microsoft Excel

Herbers Excel/VBA-Archiv

Zellen vergleichen


Betrifft: Zellen vergleichen von: parza
Geschrieben am: 19.09.2019 07:32:33

Liebe Fachleute,
ich merke, dass ich schon wieder an meine Grenzen stoße, auch wenn das Problem zunächst einfach erscheint.
Wir haben zwei Listen: einmal einen Jahreskalender (in der Beispieldatei blau eingefärbt) und eine Vorlage-Exceldatei (in der Beispieldatei grün eingefärbt) in der ungeordnet Datum und Bemerkungen stehen.
Ziel wäre es, mittels einer Formel das Datum aus dem Kalender mit dem Datum aus der Vorlagendatei zu vergleichen. Und wenn dort eine Bemerkung steht, diese in den Kalender eingefügt wird. Mein Problem war nun, dass in der Vorlagendatei das gleiche Datum mehrmals vorkommen kann, aber die zugehörigen Bemerkungen im Jahreskalender in eine einzige Zelle soll.
Ich bedanke mich schon im Voraus fürs Nachdenken und hoffe, es einleuchtend erklärt zu haben.
parza
https://www.herber.de/bbs/user/132106.xlsx

  

Betrifft: AW: Zellen vergleichen von: 1713927.html
Geschrieben am: 19.09.2019 15:01:11

Hi

Hier ein Ansatz mit einer benutzerdefinierten Funktion (UDF).

Alt+F11, Standardmodul einfügen, Code reinkopieren.

Danach als Formel verwendet:
=FormelSpezial(Kriterium, Bereich)
=FormelSpezial(A2;D$2:D$15)

Function FormelSpezial(varKriterium As Variant, rngBereich As Range) As String
 Dim rngZelle As Range, strTemp As String
 
 Application.Volatile
 For Each rngZelle In rngBereich
     If rngZelle = varKriterium And rngZelle.Offset(0, 1) <> "" Then _
     strTemp = IIf(strTemp = "", rngZelle.Offset(0, 1), strTemp & ", " & rngZelle.Offset(0, 1))
 Next rngZelle
 
 FormelSpezial = strTemp
 End Function
cu
Chris
  

Betrifft: AW: Zellen vergleichen von: 1713935.html
Geschrieben am: 19.09.2019 15:31:02

Hallo Parza,

meine Formel-Lösung funktioniert nur mit Hilfsspalten in der Vorlage-Datei und wenn beide Dateien gleichzeitig geöffnet sind.

Vorlage-Datei:
Formel in C2: =ZÄHLENWENN($A$1:A2;A2)
Formel in D2: =TEXT(A2;"JJJJ-MM-TT")&TEXT(C2;"-00")
Formel in E2: =WENN(C2=0;"";WENN(C2=1;WENN(ISTLEER(B2);"";B2);INDEX($B:$B;VERGLEICH(TEXT(A2;"JJJJ-MM-TT")&TEXT(C2-1;"-00");$D:$D;0))&WENN(B2="";"";", "&B2)))

Die Formeln dann bis zum Ende der Liste kopieren.

Die Formeln in Spalte C und D erzeugen eine eindeutige ID für jeden Tageseintrag.
Die Formeln in Spalte E "basteln" die Bemerkungstexte zusammen. In der letzten Zeile eines Datums steht der vollständige Text für den Kalender.


Kalenderdatei:
Formel in B2: =WENNFEHLER(INDEX([Vorlage.xlsx]Tabelle2!$E:$E;VERGLEICH(TEXT(A2;"JJJJ-MM-TT")&TEXT(ZÄHLENWENN([Vorlage.xlsx]Tabelle2!$A:$A;A2);"-00");[Vorlage.xlsx]Tabelle2!$D:$D;0));"")

Diese Formel funktioniert nur, wenn die Vorlagedatei geöffnet ist.

LG
Franz

  

Betrifft: AW: Zellen vergleichen von: 1713941.html
Geschrieben am: 19.09.2019 15:55:16

Danke für die Vorschläge. Ich hoffe, ich krieg es hin.
parza

Beiträge aus dem Excel-Forum zum Thema "Zellen vergleichen "