delcour
Goto Top

Vergleich von Exceltabellen (über Access?): Summierung von Feldwerten, dann Vergleich

Bei zwei sehr großen Exceltabellen sollen jeweils die Zeilen nach einem Feldkriterium verdichtet werden und die so verdichteten Tabellen, die dann erst einen UNIQUE haben miteinander verglichen werden, wobei als Ergebnis eine Vergleichstabelle erzeugt wird. Lösung vermutlich in Access.

Hallo!

Gegeben sind zwei Exceltabellen mit jeweils ca. 50 Spalten und ca. 60.000 Zeilen.

Die Spalten sind bei beiden Tabellen indentisch und lauten etwa:

PERSNR; Betragstyp1; Betrag1; Betragstyp2; Betrag2; ... Betrag3; ...

Es gibt kein eindeutiges Kriterium in den Tabellen. Die Anzahl der Zeilen ist unterschiedlich.

Ziel ist eine weitere Tabelle (Ergebnistabelle) mit folgenden Spalten:

PERSNR; Betrag1; Betrag2; Betrag3 ...

In der Ergebnistabelle existiert pro Wert für PERSNR nur noch eine Zeile. In den Feldern Betrag1; Betrag2; Betrag3 ... stehen die Differenzen {der Summen der Betragsfelder für Zeilen mit jeweils gleicher PERSNR} zu {den Summen der Betragsfelder für Zeilen mit jeweils gleicher PRSNR} der entsprechenden PRSNR. Sofern eine PRSNR nicht in beiden Tabelllen vorkommt, soll sie ebenfalls in der Ergebnistabelle erscheinen und zwar mit den Betragssummen (positiv, falls aus der ersten Tabelle bzw. negativ, falls aus der zeiten Tabelle).

Beispiel:

Tabelle1:
PERSNR;Betragstyp1;Betrag1;Betragstyp2;Betrag2;Betrag3
1;luell; 100,00; lall; 250,00; 500,00
2;luell; 100,00; loll; 150,00; 0,00
3;luell; 100,00; lall; 150,00; 300,00
3;luell; 100,00; lull; 350,00; 300,00
4;luell; 100,00; lall; 150,00; 300,00

Tabelle2:
PERSNR;Betragstyp1;Betrag1;Betragstyp2;Betrag2;Betrag3
1; luell; 100,00;lall;150,00;300,00
2; luell; 500,00;lall;150,00;300,00
2; luell; 0,00;lall;0,00;300,00
4; luell; 100,00;lall;150,00;300,00
5; luell; 100,00;lall;150,00;300,00


Ergebnistabelle:
PERSNR; Betrag1; Betrag2; Betrag3
1; 0,00; 100,00; 200,00
2; -400,00; 0,00; -600,00
3; 200,00; 500,00; 600,00
4; 0,00; 0,00; 0,00
5; -100; -150,00; -300,00

Wenn die Anzahlen nicht so groß wären, würde ich aus den beiden Tabellen PIVOT-Tabellen machen, damit ich im ersten Schritt zwei neue Tabellen bekomme, wo pro PRSNR nur eine Zeile und existiert und die Summen in den Betragsfeldern gebildet wurden. Dann kopiere ich die beiden PRSNR-Spalten untereinander, sortiere sie untersuche mit einer WENN-Formel, ob der vorhergehende Satz die gelcieh Nummer hat und setze ... ach, das ist zu ausschweifend. Jedenfalls ist es ein elender Akt, das 3/4tel-mauell mit Excel zu machen.

Im Betrieb stehen uns Excel, Access und evtl. Oracle zur Verfügung.

Eine Lösung mit mySQL und Perl geht auch, die würde ich dann auf Access zu übertragen versuchen.

Wie löst man sowas?

Gruß

Delcour

Content-Key: 52542

Url: https://administrator.de/contentid/52542

Ausgedruckt am: 28.03.2024 um 21:03 Uhr

Mitglied: bastla
bastla 24.02.2007 um 14:23:06 Uhr
Goto Top
Hallo delcour und willkommen im Forum!

Deine Vermutung hinsichtlich der Lösung über Access würde ich teilen ... face-wink

Sofern die Zwischentabellen (bzw -ergebnisse) nicht benötigt werden, wäre die Vorgangsweise etwa so:
  • Tabelle 1 in eine Access-Tabelle importieren
  • In Tabelle 2 alle relevanten Zahlenwerte mit -1 multiplizieren (am schnellsten über: -1 in Zwischenablage kopieren, Spalte mit Zahlenwerten ohne Überschrift markieren, "Bearbeiten/Inhalte einfügen.../Multiplizieren" wählen)
  • Bearbeitete Tabelle 2 in Access importieren, dabei gleich an Tabelle 1 anfügen
  • Abfrage mit den relevanten Feldern erstellen, Zusammenfassungsfunktionen verwenden ("Gruppierung" für die PERSNR, "Summe" für alle anderen Felder), auf Wunsch Sortierung nach PERSNR, und speichern
  • Gespeicherte Abfrage markieren und "Analysieren mit Microsoft Excel " aus Symbolleiste/Dropdown "OfficeVerknüpfungen" wählen
  • In Excel Spaltenüberschriften anpassen ...

Grüße
bastla
Mitglied: delcour
delcour 25.02.2007 um 18:23:42 Uhr
Goto Top
Hallo Bastia!

Klappt perfekt, und das Arbeitsergebnis ist exakt das, was ich wollte. Vielen Dank!

Gruß

Delcour