Problem mit Intervallen

Hallo allerseits.

Situation: Für eine Auswertung in SAP habe ich eine Struktur entworfen, die Konten nach bestimmten Kriterien gliedert. In dieser Struktur habe ich Intervalle von Konten verwendet. Diese Struktur liegt mir als Excel Tabelle vor.

Jetzt möchte ich überprüfen, ob alle Konten, die bebucht wurden, auch in der Struktur enthalten sind. Ich habe mir also eine Saldenliste in Excel gezogen.

Jetzt habe ich zwei Tabellen, einmal die Intervalle für meine Gliederung
Beispiel:

Konto von Konto bis
1300000000 1300999999
1310000000 1310999999
1320000000 1320999999
usw.

Und einmal die Saldenliste aus SAP
Beispiel:

Konto Saldo
1300400000 -392.123.263,47
1300400001 -123.456,78
1400500020 1.234.457.89
usw.

Ich möchte sicherstellen, dass ich in der Stuktur / Gliederung keine Konten vergessen habe. Also eine Formel, die ich auf die Saldenliste anwenden kann z.B.
Zur Verfügung stehen mir Excel 2003 und 2002, Access 2002.
Leider habe ich keine Idee für die Umsetzung. Kann mir jemand helfen?

Grüße
Joshua

PS: Für die SAP Experten - es handelt sich nicht um eine Bilanzstruktur (die hat die Prüfung auf fehlende Konten eingebaut) sondern um einen Report Painter Bericht, der Daten aus dem UKV Ledger auswerten soll.

Hi Joshua,

wenn ich das richtig verstehe willst Du überprüfen, ob eine Liste mit Werten innerhalb selbst definierter Intervalle liegt um so zu sehen, ob alle Deine Kostenstellen auch wirklich in Deinen Intervallen sind.
Die feststellung zu welchem Intervall das gehört ist dabei nebensächlich, ja?

Ein paar Fragen hab ich dazu aber noch.

  1. Ist die Herangehensweise egal oder bist Du auf bestimmte Möglichkeiten beschränkt - Formeln, VBA, Abfragen etc?
  2. Ist die Liste mit Deinen Ranges numerisch sortiert?

In Access hab ich gerade ein wenig rumgebastelt…
Geh in den SQL Modus einer neuen Abfrage und gebe folgendes ein:
SELECT kst.kst, kst.geld, ranges.min, ranges.max
FROM kst, ranges
WHERE (((ranges.min)[kst]));

In meinem Beispiel ist
tabelle:
„ranges“ die Tabelle mit dem Minimum („min“) und Maximum („max“)
„kst“ die Tabelle mit den Kostenstellen („kst“) kosten („geld“)

Die Ausgabe ist dann alles, was innerhalb des bereiches liegt.
Wenn die Liste nun kürzer ist als die Ursprüngliche, dann weisst Du schon mal, dass Du nen Fehler drin hast *gg*

Hi Joshua,

Hallo Münchner.

wenn ich das richtig verstehe willst Du überprüfen, ob eine
Liste mit Werten innerhalb selbst definierter Intervalle liegt
um so zu sehen, ob alle Deine Kostenstellen auch wirklich in
Deinen Intervallen sind.
Die feststellung zu welchem Intervall das gehört ist dabei
nebensächlich, ja?

Es handelt sich nicht um Kostenstellen, ansonsten aber korrekt so.

Ein paar Fragen hab ich dazu aber noch.

  1. Ist die Herangehensweise egal oder bist Du auf bestimmte
    Möglichkeiten beschränkt - Formeln, VBA, Abfragen etc?
  2. Ist die Liste mit Deinen Ranges numerisch sortiert?
  1. Nein, keine Einschränkungen
  2. Jetzt schon :smile:

In Access hab ich gerade ein wenig rumgebastelt…
Geh in den SQL Modus einer neuen Abfrage und gebe folgendes
ein:
SELECT kst.kst, kst.geld, ranges.min, ranges.max
FROM kst, ranges
WHERE (((ranges.min)[kst]));

In meinem Beispiel ist
tabelle:
„ranges“ die Tabelle mit dem Minimum („min“) und Maximum
(„max“)
„kst“ die Tabelle mit den Kostenstellen („kst“) kosten
(„geld“)

Die Ausgabe ist dann alles, was innerhalb des bereiches liegt.
Wenn die Liste nun kürzer ist als die Ursprüngliche, dann
weisst Du schon mal, dass Du nen Fehler drin hast *gg*

Sorry, bin Access Noob. Der Kurs, den ich hatte liegt schon 10 Jahre zurück. Wäre es dir möglich, mir die Datei zu schicken?
Ich habe versucht, die Access Datenbank nachzubauen, und die SQL Anweisungen einzugeben. Ich erhalte aber eine Fehlermeldung (Characters found after end of SQL statement) und habe leider keinerlei Ahnung, was das bedeuten soll.

Grüße
Joshua

Excel-Formel
Sodala…
da simma wieder :wink:

Also hier ist eine fertige Formel:

=WENN(SVERWEIS(KGRÖSSTE(A$1:A3;RANG(D1;(D1;A$1:A3)));A$1:B3;2;FALSCH)>D1;„OK“;„NICHT OK“)

Nu zu den Bereichen:
A$1:A3 ist der Bereich mit Deinen Minimum-Werten
D1 ist die „Kostenstelle“, die gerade geprüft wird
In Spalte B - neben denen von A$1:A3 stehen die jeweiligen Maximums…

Zur Formel.

Die Formel überprüft in der Range mit den Minimums PLUS DER ZAHL, DIE GEPRÜFT WIRD (wichtig!) deren Rang. (RANG)
Im nächsten wird der Wert ermittelt, der UNTER diesem Wert liegt - und zwar der nächste darunter. (KGRÖSSTE)
Als nächstes wird das dazugehörende Maximum gesucht (SVERWEIS)
Wenn dieses Maximum über dem aktuellen Wert liegt wird „OK“ aus gegeben. Ansonsten „NICHT OK“.
Die Formel wird mit den „Kostenstellen“ runterkopiert.

Wenn Du ein Beispiel brauchst - schreib in den nächsten Minuten - ansonsten schliesse ich meine Datei ungesichert. :wink:

Grüße
Munich

1 „Gefällt mir“

Sodala…
da simma wieder :wink:

Willkommen zurück!

Also hier ist eine fertige Formel:

=WENN(SVERWEIS(KGRÖSSTE(A$1:A3;RANG(D1;(D1;A$1:A3)));A$1:B3;2;FALSCH)>D1;„OK“;„NICHT
OK“)

Die Formel liefert bei mir #Zahl! als Fehlermeldung. Bei näherer Analyse scheint es an dem Teil mit RANG(D1;(D1;A$1:A3)) zu tun zu haben. Wenn ich auf die Teilformel gehe zeigt er bei Bezug den Fehler #Wert! an.

Wenn Du ein Beispiel brauchst - schreib in den nächsten
Minuten - ansonsten schliesse ich meine Datei ungesichert. :wink:

Wäre prima, wenn du mir deine Datei zuschicken könntest.

Grüße
Joshua

Vergiss das unten geschriebene …
Hallo MunichFreak!

Die Formel funktionert, vielen Dank!

* und beste Grüße

Joshua

wunderbar :wink:
habs mir aber trotzdem gespeichert falls ich auch mal so ein Problem hab *g*

1 „Gefällt mir“