Datenabgleich in einer Zeile

  • Hallo zusammen!

    Mein erster Beitrag und gleich eine Frage, entschuldigt diesen Umstand bitte :)

    Ausgangslage:
    Ich habe auf der Arbeit eine Exceltabelle die ich auslese (522Zellen insgesamt).
    Diese Zellen sind in Dreierreihen angeordnet und haben Produktionszahlen/Soll/Haben als Inhalt (also alles Ziffern von 0-9). Die Aufgabe stellt sich mir nun, dass ich diese Zellen überprüfe und in jeder dieser Reihen diese Zahlen prüfe ob sie den gleichen Wert haben.
    Also habe ich alle Zellen einzeln eingelesen und nummeriert (von 1-522, ich weiss, ist aufwendig) und nun will ich diese Zellen auf den Wert prüfen lassen.

    In etwa so:
    Produktionssoll | Haben | Planung
    12344444 | 12344444 | 12344422
    -----> soll mir in die Vierte Spalte ausgeben: "Planung"
    da Zelle 3 nicht den Wert hat wie Zelle 1 und 2.

    Kann mir da jemand weiterhelfen?

    Danke und gruss,
    eure Kinti

    Einmal editiert, zuletzt von Kinti (30. April 2009 um 10:40)

  • Herzlich willkommen.
    Könntest du dein bisheriges Skript posten und eine Beispiel-Excel Datei anhängen (muss keine 522 Zeilen haben). Damit kann dir leichter geholfen werden.

    Liest du das ganze in ein Array ein? Dann brauchst du nur eine For-Schleife mit Step 4 machen und einfach vergleichen.

  • kannst du doch direkt in excel machen?!? stichwort "bedingte formatierung" geht deutlich schneller, als hierfür extra n script zu schreiben

  • Liest du das ganze in ein Array ein? Dann brauchst du nur eine For-Schleife mit Step 4 machen und einfach vergleichen.

    Das mit dem Array habe ich nicht verstanden und somit auch nie funktionsfähig umgesetzt. Muss mich mal mehr mit dieser Materie der Arrays auseinandersetzen.

    suche gerade ein gutes Beispiel aus der Excel-Datei raus

    Achja ich schicke voraus, dass ich das alles sehr primitiv gestaltet habe (mit Pfeiltasten und so :()
    Noch nicht viel, da ich es erst eingelesen habe:

    Spoiler anzeigen

    Dim $1
    Dim $2
    Dim $3
    Dim $4
    Dim $5
    Dim $6


    Send ("^c")
    $1 = ClipGet()
    Send ("{RIGHT}")
    Send ("^c")
    $2 = ClipGet()
    Send ("{RIGHT}")
    Send ("^c")
    $3 = ClipGet()
    Send ("{DOWN}")
    Send ("{LEFT}")
    Send ("{LEFT}")
    Send ("^c")
    $4 = ClipGet()
    Send ("{RIGHT}")
    Send ("^c")
    $5 = ClipGet()
    Send ("{RIGHT}")
    Send ("^c")
    $6 = ClipGet()

    kannst du doch direkt in excel machen?!? stichwort "bedingte formatierung" geht deutlich schneller, als hierfür extra n script zu schreiben

    geht leider nicht, da es immer wieder verschiedene Werte und zeilen sind und vor allem zuviele (Excel 2k bekommt da Probleme mit, kA wieso)

    Gruss,
    Eure Kinti

  • klar geht das! ;) wenn du willst schick mir die excel tabelle und ich mach das kurz...

    zum script:

    das mit den variablen ist n falscher ansatz...

    [autoit]


    #Include <Excel.au3>
    $array = _ExcelReadArray($oExcel, $iStartRow, $iStartColumn, $iNumCells, $iDirection = 0, $iIndexBase = 0)

    [/autoit]

    hiermit kannst du die zeilen auslesen und dann miteinander vergleichen

  • oh man, danke vielmals, ich glaube da komm ich weiter, als wenn ich für jede Zellen eine eigene variable deklariere :/

    okay, damit komm ich mal für ein paar stunden aus :)

    werde mich mal wieder im Wiki vertiefen.


    danke nochmals!
    Gruss,
    Eure Kinti