Kombinieren Sie die Sumif-Funktion mit Verketten

1943
Dan Stewart

Gibt es eine Möglichkeit, eine Kette von Textzellen zu verketten, wenn der Wert über jeder Zelle "ja" ist?

Zum Beispiel:

yes yes  dog cat bird hen 

In diesem Fall lautet das Ergebnis der verketteten Zeichenfolge:

Hund Katze

0
Ihr Kommentar zur Antwort macht die Frage unklar. Wo genau sind die Ja? Sind diese Zeilenpaare, und die erste in jedem Paar hat Ja für die Zellen in der zweiten Zeile des Paars, die Sie verketten möchten, oder Zeile 1 des Arrays hat die Ja-Werte und Sie möchten die zugehörigen Zellen aus jeder nachfolgenden Zeile verketten ? fixer1234 vor 7 Jahren 0

1 Antwort auf die Frage

1
music2myear

Dies würde eine IF-Anweisung erfordern, die einen gültigen Ausdruck in einer Excel-Formel darstellt.

Die Syntax lautet:

IF( condition, [value_if_true], [value_if_false] ) 

Die Formel würde wahrscheinlich so aussehen:

IF(ISNUMBER(SEARCH("Yes",A1)), CONCATENATE(A2, " ", B2, " ", C2)) 

Hinweis: Dies prüft nur ein Ja in Zelle A1 und verkettet dann alle Zellen. Wenn Sie nur die Zellen unter denen mit "Ja" verketten möchten, müssen Sie dies zu einem Makro erweitern oder ein paar abhängige Formeln in verschiedenen Zellen verwenden.

Verweise:

UPDATE: Für Bedenken hinsichtlich der Verwendung von Makros in einer großen Anzahl von Werten

Ein Makro würde dafür funktionieren. Wenn die Anzahl der Zellen in Ihren Datenzeilen variieren kann und Sie jede Zelle mit Informationen durchlaufen müssen, gibt es mehrere Möglichkeiten, die letzte Zelle in einer Zeile (oder Spalte) mit Daten zu bestimmen und sie dann an anderer Stelle im Makro zurückzuspeisen.

Wenn Sie in Zeile A Ja / Leerzeichen angeben und in Zeile B die Daten angeben, könnten Sie dies in drei Schritten tun:

  1. Holen Sie sich die letzte Zelle mit "Ja" in Zeile A: Verwenden Sie Suchen im Bereich von Zeile A.

  2. Rufen Sie den Wert von Find in Schritt 1 ab und verwenden Sie diesen, um von Zelle A1 zu Zelle A (Wert von Find) zu gelangen, und notieren Sie die Zellennummern für jedes gefundene "Ja".

  3. Nehmen Sie diese Zahlen und verketten Sie jede Zelle in Zeile B mit den Zahlen aus Schritt 2.

Sie können dies auf zwei Schritte verkürzen, indem Sie die Schritte 2 und 3 zusammenführen, indem Sie die Werte jedes Mal aus B ziehen und verketten, wenn Sie in A ein Ja finden.

Leider bin ich in VBA kein Genie und habe nur wirkungsvolle Makros geschrieben, die auf wochenlanger Anstrengung und vielen Forenbeiträgen basieren. Ich werde also nicht einmal versuchen, dies zu schreiben. Jeder Teilschritt sollte jedoch leicht zu recherchieren sein, und die Montage kann nach Ihren eigenen Vorlieben erfolgen.

Danke für Ihre Antwort. Ein Makro funktioniert nicht, da ich unendlich viele Zeilen habe, in die die gewünschte Formel kopiert wird. Was ich brauche, ist eine Gleichung, die genau das tut, was Sie sagen: "Ich möchte nur die Zellen verketten, die den Wert" Ja "über ihnen haben. Dan Stewart vor 7 Jahren 0
Ein Makro würde auch bei einer großen (und / oder wachsenden) Anzahl verwendeter Zellen funktionieren, siehe die bearbeitete Antwort: music2myear vor 7 Jahren 0