
Dies bezieht sich auf die Formel, die ich für Zelle F2 im folgenden Bild benötige.
F2 zeigt das ErgebnisICH WILL:
ICH BRAUCHE:Die Concat-Formel zum Verketten der Daten in Spalte B für jede Variante von dem, was in Spalte A steht. Wenn wir also wissen, dass esXVersionen des Elements (basierend auf der Funktion in C2), dann muss die VerkettungX −1-mal, um die Textzeichenfolge aus Spalte A zu zeichnen.
Ich weiß nicht, wie ich das am besten mache! Ich bin auch damit einverstanden, neue Funktionen zu erstellen, wenn auf diese verwiesen werden muss (wie aggregierte CONCATs in F, weil ich dann einfach eine IF-Anweisung schreiben kann, um nach „BASE“ zu suchen …)
- Ich kenne die Zahl in C2: Es ist die Häufigkeit, mit der der Text in Spalte A vorkommt.
- Ich kenne die Nummer in E2: Es ist die Zeilennummer
- Ich kenne das Ergebnis von D: Wenn der Text in A zum ersten Mal auftaucht, ist es „Base“, andernfalls ist es „Variant“.
- Ich weiß, dass der Text in Spalte A immer sortiert ist
Antwort1
Anpassungmeine AntwortZuBedingtes Verketten von Zellinhalten über mehrere Zeilen hinwegdie folgenden Formeln ein:
F2
→=IF(AND(A1<>A2,A2<>""), G2, "")
G2
→=IF(A2<>A3, B2, B2 & ", " & G3)
(vorausgesetzt, Ihre Daten beginnen in Zeile 2, wie in der Frage gezeigt). Wenn Sie Spalte nicht verwenden möchten G
, können Sie jede verfügbare Spalte verwenden (z. B. Z
oder AG
) und die Referenzen entsprechend ändern. Ziehen/füllen Sie nach unten, um alle Ihre Daten abzudecken.
Die Formel in der zweiten Spalte (ich gehe davon aus, dass es sich um Column handelt G
) erstellt die durch Kommas getrennte Liste der Größen für das aktuelle Objekt in Column A
von unten nach oben. Genauer gesagt enthält cell die Liste für Rows Gn
Nund unten. (Vielleicht hilft es Ihnen, jetzt einen Blick auf die Abbildung zu werfen.) Dort steht:
- Wenn die nächste Zeile einen anderen Wert in Spalte hat
A
als die aktuelle Zeile (A2<>A3
), dannDasist die letzte Zeile für diesen Wert, daher enthält die Liste für diese Zeile und darunter nur den Wert für diese Zeile. - Ansonsten,Dasist nicht die letzte Zeile für diesen Wert, und die Zeile darunter enthält die Liste für diese Zeile und darunter. Ich möchte also den Wert aus dieser Zeile nehmen und ihn der Liste aus der Zeile darunter „voranstellen“.
Dann zeigt die Formel in der Spalte F
die vollständige Liste für ein Objekt in der ersten Zeile für dieses Objekt an und ist an den anderen Stellen leer. Auch leer anzeigen, wenn der Spaltenwert A
in dieser Zeile leer ist.
Möglicherweise möchten Sie die Spalte ausblenden, G
sobald dies funktioniert.
Antwort2
Verwenden Sie eine zusätzliche Spalte … und verbergen Sie sie dann. (:
F2 ----> =IF(A2="","",IF(A1=A2,"",G3&", "&B2))
G2 ----> =IF(A2="","",IF(A2=A3,A2&", "&G3,B2))
und nach unten ziehen ... bitte teilen Sie mit, ob es funktioniert (oder nicht) (: