Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wert in Spalte suchen, wenn auffindbar Zelle aus Spalte kopieren und Inhalt ändern
#1
Hallo zusammen,

ich stoße jetzt schon zum zweiten Mal darauf, eine Funktion für mein Problem zu finden. Deshalb will ich mich jetzt der Lösung doch mal annehmen. Anscheindend brauche ich es öfter...

Es geht um folgendes:
Ich habe zwei Datenquellen:
1. eine Liste mit zwei Spalten, zB:
RUE       I2_20
NRUE     I1_9
AERS     I3_2
AERL     I1_1
SGS       I2_21
RSF       I1_20
RSF1     I3_18

2. eine globale Liste die viel größer ist und auf jeden Fall die Werte aus der ersten Spalte von Liste 1 enthält, z.B.:
                //W.OPCImg.setStatusString("SPS.PIN_RUE",       "I1_IN1");
                //W.OPCImg.setStatusString("SPS.PIN_NRUE",       "I1_IN1");
                //W.OPCImg.setStatusString("SPS.PIN_AERS",       "I1_IN1");
                //W.OPCImg.setStatusString("SPS.PIN_AERL",      "I1_IN11");   

                //W.OPCImg.setStatusString("SPS.PIN_URB",     "I1_IN2");
                //W.OPCImg.setStatusString("SPS.PIN_ERB",    "I1_IN6");
                //W.OPCImg.setStatusString("SPS.PIN_QRB",      "I1_IN4");
                //W.OPCImg.setStatusString("SPS.PIN_EERF",     "I1_IN2");
                //W.OPCImg.setStatusString("SPS.PIN_WNOERF",    "I1_IN5");
                //W.OPCImg.setStatusString("SPS.PIN_LERF",      "I1_IN3");
                //W.OPCImg.setStatusString("SPS.PIN_SGS",       "I1_IN9");
                //W.OPCImg.setStatusString("SPS.PIN_RSF",       "I1_IN8");
                //W.OPCImg.setStatusString("SPS.PIN_OWV",      "I1_IN7");
                //W.OPCImg.setStatusString("SPS.PIN_RSF1",      "I2_IN3");
                //W.OPCImg.setStatusString("SPS.PIN_WNV",       "I1_IN12");
                //W.OPCImg.setStatusString("SPS.PIN_EGBM",      "I1_IN1");
                //W.OPCImg.setStatusString("SPS.PIN_EGFM",      "I1_IN2");
                //W.OPCImg.setStatusString("SPS.PIN_LZFA",      "I1_IN10");
                //W.OPCImg.setStatusString("SPS.PIN_LZFE",      "I1_IN13");
                //W.OPCImg.setStatusString("SPS.PIN_NORI",      "I1_IN2");
                //W.OPCImg.setStatusString("SPS.PIN_ORI",        "I1_IN3");


Ich möchte prüfen, ob die Bezeichnungen der 1. Spalte von Liste 1 in der 2. Liste auftauchen.
Beispiel "RSF":
RSF kann gefunden werden in
                //W.OPCImg.setStatusString("SPS.PIN_RSF",       "I1_IN8");
In diesem Fall möchte ich                
               //W.OPCImg.setStatusString("SPS.PIN_RSF",       "I1_IN8");      
von Liste 2 in die Zelle rechts daneben kopieren, dabei aber die "//" löschen und "I1_IN8" durch "I1_IN20" tauschen.
Alle Einträge aus Liste 2 die keine Gemeinsamkeit mit 1. Spalte von Liste 1 haben, werden unverändert (inkl. Leerzeichen) in die Zelle rechts daneben kopiert.

Anders dargestellt soll am Ende Liste 2 folgendermaßen verändert sein:

                W.OPCImg.setStatusString("SPS.PIN_RUE",       "I2_IN20");
                W.OPCImg.setStatusString("SPS.PIN_NRUE",       "I1_IN9");
                W.OPCImg.setStatusString("SPS.PIN_AERS",       "I3_IN2");
                //W.OPCImg.setStatusString("SPS.PIN_AERL",      "I1_IN1");   

                //W.OPCImg.setStatusString("SPS.PIN_URB",     "I1_IN2");
                //W.OPCImg.setStatusString("SPS.PIN_ERB",    "I1_IN6");
                //W.OPCImg.setStatusString("SPS.PIN_QRB",      "I1_IN4");
                //W.OPCImg.setStatusString("SPS.PIN_EERF",     "I1_IN2");
                //W.OPCImg.setStatusString("SPS.PIN_WNOERF",    "I1_IN5");
                //W.OPCImg.setStatusString("SPS.PIN_LERF",      "I1_IN3");
                W.OPCImg.setStatusString("SPS.PIN_SGS",       "I2_IN21");
                W.OPCImg.setStatusString("SPS.PIN_RSF",       "I1_IN20");
                //W.OPCImg.setStatusString("SPS.PIN_OWV",      "I1_IN7");
                W.OPCImg.setStatusString("SPS.PIN_RSF1",      "I3_IN18");
                //W.OPCImg.setStatusString("SPS.PIN_WNV",       "I1_IN12");
                //W.OPCImg.setStatusString("SPS.PIN_EGBM",      "I1_IN1");
                //W.OPCImg.setStatusString("SPS.PIN_EGFM",      "I1_IN2");
                //W.OPCImg.setStatusString("SPS.PIN_LZFA",      "I1_IN10");
                //W.OPCImg.setStatusString("SPS.PIN_LZFE",      "I1_IN13");
                //W.OPCImg.setStatusString("SPS.PIN_NORI",      "I1_IN2");
                //W.OPCImg.setStatusString("SPS.PIN_ORI",        "I1_IN3");


--> Ich habe die Daten schon mal in eine Exceltabelle eingefügt. Darin werden die Bezeichnungen aus Liste 2 schon rausextrahiert (falls es nützlich für euch ist). :)


Ich würde mich freuen, wenn ich endlich eine Lösung zu dem Thema finden würde  :17: . Ich bekomme es einfach nicht hin alleine.


Angehängte Dateien
.xlsx   Mappe2.xlsx (Größe: 12,61 KB / Downloads: 4)
Antworten Top
#2
Hallo,

nach einem ersten Blick: mit VBA sollte es möglich sein (für Formeln sind anderenzuständig)

Eine Lösung mit VBA erfordert aber beim Fragesteller zumindest Grundkenntnisse.

mfg
Antworten Top
#3
Falls jemand eine Formellösung hat, wäre ich dankbar :19: .
Bei mir an der Arbeit gibts imer Probleme mit Makros. Die werden tl.w. gesperrt...
Antworten Top
#4
so?
Arbeitsblatt mit dem Namen 'Tabelle3'
ABCDEFGHIJKLMNO
1Liste 1Liste 2
2RUEI2_20//W.OPCImg.setStatusString("SPS.PIN_RUE", "I1_IN1");52RUE", "I1_IN1");4RUEW.OPCImg.setStatusString("SPS.PIN_RUE", "I2_20");

ZelleFormel
K2=WENNFEHLER(SUCHEN("_";D2);"0")
L2=WENNFEHLER(ERSETZEN(D2;1;K2;"");"")
M2=WENNFEHLER(SUCHEN("?,";L2);"")
N2=WENNFEHLER(ERSETZEN(L2;M2;25;"");"")
O2=WENN(ZÄHLENWENN(A:A;N2)>0;WECHSELN(WECHSELN(D2;RECHTS(D2;9);SVERWEIS(N2;A1:B10;2;FALSCH)&""");");"//";"");WECHSELN(D2;"//";""))
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hey vielen Dank!
Sieht gut aus, auch wenn ich noch nicht ganz hinter die Formel gestiegen bin.
Zwei kleine Fehler habe ich aber noch gefunden.
In Zelle O5 wird hinten etwas noch nicht richtig eingefügt.
In allen Ergebnissen in Spalte O wurde das "//" entfernt. Es soll aber nur bei den Ergenissen entfernt werden, die in Liste 1 auftauchen.

Versuche mich parallel auch mal an der Problemlösung und poste wenn ich erfolg hatte.


Angehängte Dateien
.xlsx   Mappe2.xlsx (Größe: 13,11 KB / Downloads: 0)
Antworten Top
#6
So hab glaube ich die Lösung. Siehe Anhang.
Musste aber die Gesamtformel aufdröseln um sie zu verstehen ;)


Angehängte Dateien
.xlsx   Mappe2.xlsx (Größe: 15,1 KB / Downloads: 5)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste