wie man zwei Excel-Tabellen basierend auf einer Bedingung kombiniert

0

Wir testen Campayn, eine Mailchimp-Alternative. Wenn Sie eine Ihrer Kontaktlisten von Campayn herunterladen, wird der Status des Kontakts nicht angezeigt (abonniert, abgemeldet, zurückgewiesen).

Wir müssen ein Segment erstellen, einen Filter für das Segment erstellen (Status = nicht abonniert) und das Segment herunterladen.

Ich möchte jetzt meine Master-Tabelle mit Kontakten mit den Personen kennzeichnen, die nicht abonniert sind.

In meiner Excel-Tabelle habe ich:

email, company, name

In meiner Tabelle mit nicht abonnierten Segmenten habe ich außerdem:

email, company, name

Wie füge ich das Wort unsubscribedfür jeden Kontakt in der nicht abonnierten Segmenttabelle in eine vierte Spalte der Mastertabelle ein?

Hilfe geschätzt.

Einblick
quelle
1
Fügen Sie eine Spalte hinzu, in der alle 3 Spaltenwerte für jede Zeile in beiden Tabellen verkettet sind. Verwenden Sie VLOOKUP für diese Spalte.
Akina
1
Eine Möglichkeit, vlookup zu verwenden. Erstellen Sie auf beiden Blättern einen Schlüssel, indem Sie die drei Felder zusammenfassen. (Sagen Sie Daten in den Zeilen A, B und C und fügen Sie dann ein Feld vor A mit den Inhalten B2 & C2 & D2 ein. Führen Sie dies in beiden Fällen aus. Dann schlagen Sie nach (A2,! othjersheet: table, 1,0). Wenn sie gefunden werden, befinden sie sich in der Liste Kombinieren Sie mit iferror blank else "unsubscibed").
Hennes
Beeindruckend. innerhalb von 8 Sekunden voneinander. :)
Hennes
@Hennes Normalerweise empfehle ich, die Werte in der Verkettung mit einem Symbol zu teilen, das in den Zellendaten nicht vorkommen kann ('aaa' & 'bbb' == 'aa' & 'abbb'). Für diese Zwecke verwende ich normalerweise so etwas B2&CHAR(1)&C2&CHAR(1)&D2. Natürlich, im Fall des Autors ist es vorbei ...
Akina
Ja. Man kann sich verbessern. Und ein Blatt benötigt eigentlich keinen Schlüssel, da Sie die vllokup-Formel selbst zusammenfassen können. Meistens wähle ich jedoch die einfachste und am besten zu wartende Lösung, die für die jeweilige Aufgabe geeignet ist.
Hennes

Antworten:

1

Angenommen, die Mastertabelle befindet sich in 'Sheet1' mit der Überschrift in A1: C1.

Angenommen, die Slave-Tabelle befindet sich in 'Sheet2' und der Header in A1: C1.

Füllen Sie "Sheet1" D2 mit Formel

=COUNTIFS(Sheet2!A:A,A2,Sheet2!B:B,B2,Sheet2!C:C,C2)

und ziehen Sie es über ganze Daten nach unten. Wenn in Sheet2 keine Zeile vorhanden ist, wird 0 angezeigt, ansonsten wird die Anzahl der übereinstimmenden Zeilen angezeigt (normalerweise 1).

Wenn Sie das Wort "Abgemeldet" sehen möchten, können Sie verwenden

=IF(0=COUNTIFS(Sheet2!A:A,A2,Sheet2!B:B,B2,Sheet2!C:C,C2),"","unsubscribed")
Akina
quelle
0

Angenommen, zwei Registerkarten:

Blatt oder Lasche 1

und

Blatt oder Lasche 2

Schlüssel für identische Paare: =B2&C2&D2

Verwendete Formel: =VLOOKUP(A2, Unsubscribed!$A$2:$D$2, 1, 0)
- suchen Sie nach diesem Schlüssel (erstes Feld) - in dieser Tabelle (beachten Sie die $ -Werte, um ihn absolut zu machen) - geben Sie das erste Feld zurück (es ist mir egal, was zurückgegeben wird, nur Fehler oder nicht) - 0 / false Seien Sie präzise Keine unscharfen Übereinstimmungen

Diese Arbeit kann aber verbessert werden.

ZB =IFERROR(VLOOKUP(A4, Unsubscribed!$A$2:$D$2, 1, 0),"")würde alle Fehler verbergen.

Und wenn Sie das Wort unsubscibed hinter jeder E-Mail auf der zweiten Registerkarte hinzufügen, können Sie eine Suche in Feld 5 durchführen. Die Formel =IFERROR(VLOOKUP(A4, Unsubscribed!$A$2:$E$2, 5, 0),"") lautet dann Beachten Sie, dass die Nachschlagetabelle jetzt 5 Felder breit ist (A bis E, und dass wir den 5. Wert zurückgeben ).

Hennes
quelle
0

Sie können auch eine Matrixformel verwenden. So würde es für die zweite Zeile in Ihrer Tabelle aussehen (ich nehme an, Sie verwenden eine Überschrift in der ersten Zeile und die vierte Spalte ist Spalte D):

Zelle "D2" enthält die folgende Formel:

{=IF(SUM(IF(A2=Unsubscribed!A:A;1;0))>=1;"unsubscribed";"")}

Sie geben eine Matrixformel mit STRG + UMSCHALT + EINGABETASTE ein (anstatt nur die EINGABETASTE zu drücken). Dadurch wird das "{}" um die Formel erstellt. In der nächsten Zeile wird A2 in A3 usw. geändert (verwenden Sie einfach Kopieren und Einfügen, und Excel erledigt dies für Sie).

Wenn eine E-Mail-Adresse in der Tabelle zum Abbestellen und in Ihrer Mastertabelle enthalten ist, wird sie unsubscribedin der vierten Spalte angezeigt. Wenn sie sich nur in Ihrer Mastertabelle befindet, wird nichts angezeigt .

Hier ist die Erklärung für die Variablen, die ich in der Formel verwendet habe:

  • A2: Zelle mit der E-Mail-Adresse (in der Mastertabelle)
  • A:A: Spalte mit der E-Mail-Adresse (in der Abonnementtabelle)
  • Unsubscribed: Name der "subscribe table"
Albin
quelle
Matrixformeln sind für "Big Data" sehr teuer.
Akina
@Akina Danke, habe das nicht berücksichtigt, da es keine weiteren Informationen zur Anzahl der Datensätze gibt. Ich wollte nur eine alternative Lösung geben. Ich habe keine genauen Zahlen, wie viel "teurer" sind sie (zum Beispiel in Bezug auf Countif und Vlookup)?
Albin
es ist natürlich nicht dokumentiert ... In der Praxis vermeide ich es, sie zu verwenden, wenn das Datenarray mehr als 1k Datensätze enthält. Sie können einen zufälligen Datensatz mit 10 oder 100.000 Datensätzen erstellen und vergleichen, wenn dies für Sie interessant ist.
Akina
@Akina hat es gerade getestet, das Problem ist die Verwendung von A: A in der Matrixformel. Wenn Sie die "letzte Zeile" zuerst ermitteln, funktioniert es einwandfrei (auch mit 100k). Meine erste Vermutung wäre, dass der "CountIfs" -Algorithmus leere Zellen ignoriert, die Matrixformel nicht, aber ich habe noch keinen Bestätigungstest durchgeführt.
Albin