delcour
Goto Top

SVERWEIS in eigentlich kleiner Datei rechne.xls bezieht sich auf Tabellenbereich in daten.xls. rechne.xls wird dadurch riesig.Wie ändern?

Eine sonst kleine Exceldatei rechne.xls (40 KB) greift per SVERWEIS auf eine große Datei daten.xls (12 MB) zu. Dadurch wird die rechne.xls fast genauso groß (10 MB). Offenbar saugt sich die rechne.xls den Inhalt der daten.xls rein, was sie aber nicht soll.

Hallo!

In einer ohne Verknüpfung nur 40 KB großen Datei rechne.xls habe ich folgende Formel:

=RUNDEN(SVERWEIS(Suchwert;'daten.xls'!rtafeln;46;FALSCH);4)

Die Datei daten.xls ist 12 MB groß und enthält eine umfangreiche Datensammlung, von der in der Datei rechne.xls aber nur ein einziger Wert in Abhängigkeit von "Suchwert" benötigt wird.

Jede Berechnung, die mit rechne.xls gemacht wird, ist für unseren Betriebsalltag ein Einzelfall. Darum wird die "rechnen.xls" nach Verwendung (XLT) jeweils unter einem neuen Namen abgespeichert (z.B. "Berechnung fuer Kunde XYZ 2009.xls").

Ich habe die Datentabelle extra als externe Datei abgespeichert, um die Berechnungsdatei klein halten zu können.

Die Berechnungsdatei rechnen.xls wird beim Abspeichern aber auch ca. 10 MB groß.

Da kann ich die Daten ja gleich in die Berechnungsdatei integrieren, zumal die sich mit Wirkung für die bisherigen Berechnugen nicht mehr ändern.

Wie kann ich das so lösen, dass die rechnen.xls nicht so riesig wird?

Vielen Dank.

Gruß

Delcour

Content-Key: 133224

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

Printed on: April 23, 2024 at 07:04 o'clock

Mitglied: 76109
76109 Jan 12, 2010 at 11:07:55 (UTC)
Goto Top
Hallo Delcour!

Keine Ahnung, wie Excel die Daten.Xls in der Rechen.Xls verarbeitet. Aber wenn die tatsächlich so groß wird, dann würde ich das Problem per Makrofunktion lösen?

Es wäre aber erstmal zu überlegen, ob man die Daten.Xls nicht in eine Access-Datenbank importiert oder als Daten.Csv abspeichert, dann sollte die schonmal um ein vielfaches kleiner werden. Wie auch immer? Für ein Makro kommen alle Varianten in Betracht.

Ansonsten mal genauere Angaben machen. Am besten ein Beispiel mit expliziten Zeilen/Spaltenangaben.

Gruß Dieter
Member: delcour
delcour Jan 12, 2010 at 14:40:30 (UTC)
Goto Top
Hallo Dieter,

die rechne.xls sieht vereinfacht so aus:

Eingabe: Alter (zB 32), Geschlecht (zB 1), Stichtag (zB 2009) und Rente (zB 100). Das sind einfach nur drei Zellen, wo diese Werte einzutragen sind.

Aus Alter, Geschlecht und Stichtag (32, 1, 2009) bilde ich einen Suchwert für die SVERWEIS-Formel, also hier: 3212009.

In der daten.xls stehen für sämtliche Kombinationen von Geschlecht, Alter und Stichtag Werte, die ich als Faktor auf die Rente anwenden will.

0102001 ... ...
...
3212009 ... 3,4125 ... 12,2231 ...
...

In der rechnen.xls verwendete Formel =RUNDEN(SVERWEIS(3212009;'daten.xls'!rtafeln;46;FALSCH);4) ergibt dann als Wert 12,2231.


Ausgabe:

Rente * Faktor = 100 * 12,2231 = 1222,31

Das ist im Prinzip alles.

Mit Makros und Access kenne ich mich nicht aus. Access ist vorhanden.

(Ich könnte die Exceltabelle aus daten.xls in Access importieren. Es wäre aber Neuland für mich, von Excel aus auf Daten in einer Accesstabelle zuzugreifen.) = Nein, das geht sowieso nicht, weil die Datenquelle Freitext ist. Wenn ich in der richtigen Zeile bin, dann kann ich exakt definierte Spalten nach rechts gehen und numerische Werte holen. aber manche Zeilen enthalten Text, wo sonst Zahlen stehen. In ener spalte weit links fange ich das durch eine Formel ab, ob weiter rechts Text oder brauchbare Werte stehen. Den Text kann ich aus der Datenquelle nicht entfernen. Ich glaube, so eine Datengrundlage würde sich Access nicht gefallen lassen.

Makros sind auch zulässig. aber verwende bisher nur Funktionsmakros, z.B. um aus Geburtsdatum und Stichtag ein Alter zu bilden.

Ich fürchte nur, dass ich nach eine Einarbeitung in das eine oder andere Thema am Ende doch wieder alle Daten in die rech.xls reingezogen werden.

Gruß

Delcour