2Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
615
615
EMPFEHLEN
-
Hallo allerseits,
ich weiß leider nicht so genau, nach welchem Begriff ich eigentlich suche - daher auch die etwas schammige Formulierung im Titel - deshalb beschreibe ich einfach mal mein Problem:
Ich habe eine Tabelle von Datensätzen. Jeder Datensatz repräsentiert ein Bauteil, das durch eine eindeutige Nomenklatur benannt ist. Manche Bauteile sind von anderen Abhängig, dann ist die Nomenklatur des "Eltern"-Bauteils in einer extra Spalte gespeichert:
|nomenclature|dieses|jenes|reference_component|
|Capacitor Al-Elko abc (100mg)|a|b|null|
|Capacitor Al-Elko xyz (300mg)|c|d|Capacitor Al-Elko abc (100mg)|
Ich möchte die Tabelle so umbauen, dass jedes Bauteil eine ID bekommt und die Referenzierung über die ID erfolgt:
|id|nomenclature|dieses|jenes|reference_component|
|1|Capacitor Al-Elko abc (100mg)|a|b|null|
|2|Capacitor Al-Elko xyz (300mg)|c|d|1|
Die Spalte mit den IDs einzubauen ist in Excel ja kein Problem, aber wie kann ich automatisch die Referenzen ersetzen?
Freue mich über hilfreiche Tipps!
Viele Grüße,
FrezlWenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!
-
mit einem Lookup
Das folgende willst du:
Die Formel für D2 ist dannCode :1 2 3 4 5 6 7 8
|| A | B | C | D ======================================== 1 || ID | CODE1 | CODE_PARENT | ID_PARENT 2 || 1 | A | | 3 || 2 | B | A | 1 4 || 3 | C | D | 4 5 || 4 | D | | 6 || 5 | E | A | 1
Diese dann über die restlichen Zeilen kopieren.Code :1
=IFERROR(LOOKUP(C2;$B$2:$B$6;$A$2:$A$6);"")
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Hey Yaslaw,
vielen Dank für deine Antwort. Ein Kollege hatte "irgendwas mit VERWEIS" im Hinterkopf. Zusammen mit deinem Tipp hab ich's dann hingebogen. Im Anhang ein Beispiel.
Was man noch dazu sagen sollte: bei VERWEIS (bzw. LOOKUP) muss die Tabelle vorher nach der Spalte mit dem Suchvektor (im Bild grün markiert) sortiert sein. K. a. warum, aber wenn es nicht so ist, kommt Müll raus.
Wie man sieht, hatte ich die IDs vergeben, bevor ich die Tabelle sortiert habe. Sieht nicht schön aus, aber es funktioniert. Werd jetzt mal versuchen, das auf meine eigentliche Tabelle anzuwenden.
Vielen Dank und viele Grüße,
FredGeändert von Frezl (24.01.12 um 14:50 Uhr)
Wenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!
-
Sodele, hab's jetzt endlich geschafft, die Operation auch auf meine produktive Tabelle anzuwenden. War gar nicht so einfach. Für diejenigen, die das gleiche vor haben, folgende Tipps:
1. Die Zellen, die verglichen werden sollen, dürfen keine Formeln enthalten! Also sicherheitshalber vorher die ganze Spalte kopieren und nur die Werte wieder einfügen.
2. Ich habe alle Strings vorher etwas überarbeitet, bevor ich sie verglichen habe. Dazu habe ich folgende Funktion verwendet:
Code :1
=KLEIN(SÄUBERN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(E2;"""";"");"-";"");"&";"");".";"");"/";"");",";"");")";"");"(";"");" ";"")))
Sie entfernt Leerzeichen und eine Auswahl an Sonderzeichen. Außerdem macht es den kompletten String lower case.
Das hilft, wenn die Daten von Menschenhand eingegeben wurden und daher evtl. kleine Fehler (, statt . oder ein Leerzeichen zu viel) enthalten. Evtl. arbeitet dann auch die Vergleichsfunktion zuverlässiger, aber das habe ich nicht getestet.
Meine Frage an die Excel-Cracks: Wie kann ich solche Ersetzungen einfacher vornehmen, ohne VB verwenden zu müssen? Habe versucht, als Suchkriterium von WECHSELN eine Tabellenspalte zu verwenden, aber das funktioniert leider nicht
3. Wie oben bereits erwähnt, muss die Spalte mit dem Suchvektor alphabetisch sortiert sein. Natürlich nach den ganzen Überarbeitungen, also direkt, bevor VERWEIS angewandt wird.
Viele Grüße,
FrezlGeändert von Frezl (26.01.12 um 11:54 Uhr)
Wenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!
-
Ohne VBA ist mir nix bekannt, mit VBA ists aber einfach
Die folgende Funktion in ein neues Modul kopieren
Und schon kannst du die Formel so schreibenCode vb:1 2 3 4 5 6 7 8 9 10 11 12
Public Function substitutePlus( _ ByRef text As Range, _ ByRef oldText As Range, _ Optional ByVal NewText As String = vbNullString _ ) As String Dim c As Range substitutePlus = text.Value2 For Each c In oldText.Cells substitutePlus = Replace(substitutePlus, c.Value2, NewText) Next c End Function
Wobei A1 der originaltext ist,Code :1
=substitutePlus(A1;$G$1:$G$10)
$G$1:$G$10 ein Range mit den zu ersetzenden Zeichen. Extra mit $, damit beim Kopieren der Formel immer auf densleben Range gezeigt wird.
Der Dritte Parameter kann man setzen, wenn man etwas anderes als ein "" haben will---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
Ähnliche Themen
-
Mehrere Worksheets zu Excel in VB 2010 hinzufügen
Von Vika89 im Forum .NET DatenverwaltungAntworten: 1Letzter Beitrag: 29.07.11, 08:04 -
Zwischenspeicher in VS 2010 für Excel
Von Vika89 im Forum .NET DatenverwaltungAntworten: 4Letzter Beitrag: 27.07.11, 07:40 -
Excel 2010: Mehrstufiges Balkendiagramm
Von grotten im Forum Office-AnwendungenAntworten: 5Letzter Beitrag: 26.05.11, 12:08 -
[Outlook 2010] DropDownList mit Werten aus Excel füllen
Von Brainyac im Forum Office-AnwendungenAntworten: 0Letzter Beitrag: 25.08.10, 10:30 -
Excel:Zelle freigeben in Abhängigkeit von Listenfeld
Von Ilias_bo im Forum Office-AnwendungenAntworten: 0Letzter Beitrag: 11.11.08, 09:27





Zitieren

Login





