Das ist ein bisschen hackig, aber es sollte funktionieren, wenn meine "Annahmen und Interpretationen" richtig sind.
Annahmen und Interpretation
Annahme 1 : Ihre Teilenummern sind alle eindeutig und Ihre AttributeIdentifier sind für alle Attribute, die in jeder Spalte dargestellt werden sollen, identisch.
Annahme 2 : AttributeIdentifiers sind innerhalb jedes Teils eindeutig, d. H., Es werden niemals zwei Zeilen mit demselben AttributIdentifier und derselben Teilenummer vorhanden sein.
Annahme 3 : Die Originaldaten haben Kopfzeilen in Zeile 1, und die Daten werden ab Zeile 2 fortlaufend aufgefüllt.
Annahme 4 : Die Originaldaten sind ähnlich den bereitgestellten Screenshots angeordnet. "Teilenummern" befinden sich in Spalte A und "AttributeIdentifiers" in Spalte B, "Werte" in Spalte C und es gibt keine anderen Daten in dem Arbeitsblatt, die für dieses Problem relevant sind.
Interpretation: Sie möchten, dass die Teilenummern in Spalte A verbleiben und alle Attribute für diesen Teil in einer Zeile unter Überschriften entsprechend ihrem AttributeIdentifier aufgeführt werden.
Lösung
- Erstellen Sie ein neues Blatt in derselben Arbeitsmappe.
- Benennen Sie das erste Blatt
Old Data
und das zweite BlattNew Report
. - Kopieren
'Old Data'!A:A
nach'New Report'!A:A
. - Führen Sie "Duplikate entfernen auf" aus
'New Report'!A:A
. - Kopieren
'Old Data'!B:B
nach'New Report'!B:B
. - Führen Sie "Duplikate entfernen" ein
'New Report'!B:B
.- Stellen Sie sicher, dass Sie die Auswahl für diesen Vorgang nicht über diese Spalte hinaus erweitern.
- Löschen Sie
'New Report'!B1
und verschieben Sie die verbleibenden Zellen in dieser Spalte nach oben. - Wählen Sie alle Zellen aus, in denen sich Daten befinden
'New Report'!B:B
. KOPIEREN Sie diese Zellen und fügen Sie sie mit "Einfügen Spezial" und "Transponieren" ein'New Report'!C1
. - Löschen
'New Report'!B:B
. Vergewissern Sie sich, dass die'New Report'!C:C
Schichten verschoben werden, um ihren Platz einzunehmen. - Fügen Sie links von eine neue Spalte hinzu
'Old Data'!A:A
.- Hinweis: Dadurch werden alle Spalten nach rechts verschoben, so dass "Teilenummer" in Spalte B usw. angezeigt wird.
- (Optional) Stellen Sie
'Old Data'!A1
aufUID
.
- Stellen Sie
'Old Data'!A2
auf=CONCATENATE(B2,C2)
. - Kopieren
'Old Data'!A2
Sie die gesamte Spalte bis zum Ende des Datensatzes. - Setzen Sie
'New Report'!B2
auf:=IFERROR(VLOOKUP(CONCATENATE($A2,B$1),'Old Data'!$A:$D,4,FALSE),"")
. - Kopieren
'New Report'!B2
Sie den Rest der Spalte bis zum Ende des Datensatzes. - Kopieren Sie alle Zellen in
'New Report'!B:B
, beginnend mit'New Report'!B2
und bis zum Ende des Datensatzes, in die verbleibenden Spalten auf der rechten Seite. - Wählen Sie das gesamte
'New Report'
Blatt aus. Kopieren Sie es und fügen Sie es an Ort und Stelle in "As Values" ein, um die Daten zu sperren. - (Optional) Löschen
'Old Data'!A:A
.
Erklärung zu Schritt 14
Die Formel sucht kurz nach "Old Data" nach einem geeigneten Wert, der in der Zelle entsprechend der übereinstimmenden "Teilenummer" und "AttributeIdentifier" platziert werden soll. Wenn keine gefunden wird, bleibt die Zelle leer.
Hinweis: Ich habe diese Lösung für Ihren Anwendungsfall nicht persönlich getestet. Ich bin jedoch mit den Schritten vertraut, um einigermaßen sicher zu sein, dass es für Sie ohne großen Änderungsbedarf funktionieren sollte. Bitte lassen Sie mich wissen, wenn Sie auf Fehler stoßen.