Excel- komplizierte Formel

Hallo,
zunächst: Das hier beschriebene Beispiel ist eine Vereinfachung. Die eigentliche „Datenbank“ wird dynamisch (durch Zellen-Formeln) generiert und ist etliceh tausend Zeilen lang. VBA-Lösungen die Zeile für Zeile vorgehen sind viel zu langsam, da sie bei jedem Klick ausgeführt werden müssen.
Ich suche also eine formelbasierte Lösung um eine Liste mit Ergebnissen zu erstellen.

Die Datenbank sieht folgendermaßen aus:

Pos | Vorname | Nachname
1    | Hans     | Schmitt
2    | Egon    | Friedrich
3    | Achim    | Schmidt
4    | Hans      | Müller
5    | Hans     | Schmitt

Nun soll anhand eines Suchkriteriums „Hans“ folgende Liste angezeigt werden:

Nr   | Pos | Nachname
1    | 1    | Schmitt
2    | 4    | Müller
3    | 5    | Schmitt

Die einzige knifflige Spalte ist hier die Spalte „Pos“. Meine Idee geht in die Richtung KKleinste mit einem Suchkriterium zu kombinieren. Leider fehlt mir die konkrete Umsetzung. Vielleicht hat jemand ne Idee.

Gruß,
Kevin

Hallo,
zunächst: Das hier beschriebene Beispiel ist eine
Vereinfachung. Die eigentliche „Datenbank“ wird dynamisch
(durch Zellen-Formeln) generiert und ist etliceh tausend
Zeilen lang. VBA-Lösungen die Zeile für Zeile vorgehen sind
viel zu langsam, da sie bei jedem Klick ausgeführt werden
müssen.
Ich suche also eine formelbasierte Lösung um eine Liste mit
Ergebnissen zu erstellen.

Eine VBA Lösung wird so ausgeführt, wie sie programmiert wurde. Ich seh aber keine Veranlassung für eine VBA-Lösung und keine für eine Formel. Für Daten Auswertungen wäre ein Autofilter oder ggf. ein Spezialfilter anzustellen, siehe dort Daten…

Gruß HW

Hi Kevin,

zunächst: Das hier beschriebene Beispiel ist eine
Vereinfachung. Die eigentliche „Datenbank“ wird dynamisch
(durch Zellen-Formeln) generiert und ist etliceh tausend
Zeilen lang.

ich kann mir denken was „etliceh“ bedeuten soll *lächel* aber was bedeutet es genau? 10.000, 100.000 1.000.000 ?

Dabei fällt mir grad auf, warum hast du deine Excelversion nicht nagegeben? +schelt*

VBA-Lösungen die Zeile für Zeile vorgehen sind
viel zu langsam, da sie bei jedem Klick ausgeführt werden
müssen.

Wer klickt da, wann, wo, warum?

May be es gibt Vba-Lösungen die nicht Zeile für Zeile vorgehen…

Ich suche also eine formelbasierte Lösung um eine Liste mit
Ergebnissen zu erstellen.

Wie wärs mit einer Vbabasierten Lösung die die Schnelligkeit von Excelformeln ausnutzt aber auch die Vorteile von Vba bietet?

Grundsätzlich kein Vba oder du kanntes diese Möglichkeiten nicht?

Gruß
Reinhard

Für VBA spricht, dass es sehr einfach zu realisieren ist, für Formel, dass sie wesentlich schneller ist.

Autofilter hat einige Nachteile. Zum Ersten soll die Tabelle zur Darstellung verwendet werden und da stören die ganzen Drop-Down-Dreiecke. Zum Zweiten sollen die Suchkriterien aus Zellen ausgelesen werden sollen und das ist (was meines Wissens nach) nicht mit Autofilter möglich. Und zum Dritten kann man den Autofilter soweit ich weiß nicht beschränken und er gilt immer für die ganze Zeile. Ich möchte aber mehrere dieser Ergebnistabellen sowohl nebeneinander, als auch übereinander darstellen.

Gruß,
Kevin

Hi Kevin,

Für VBA spricht, dass es sehr einfach zu realisieren ist,

Ja, es gibt ein Buch „Excel-Vba in 21 Tagen“,
das gilt aber vielleicht für den Mars wo der Tag 100 Erdtage lang ist :smile:

für Formel, dass sie wesentlich schneller ist.

jepp.

Autofilter hat einige Nachteile. Zum Ersten soll die Tabelle
zur Darstellung verwendet werden und da stören die ganzen
Drop-Down-Dreiecke.

Zeile ausblenden?

Zum Zweiten sollen die Suchkriterien aus
Zellen ausgelesen werden sollen und das ist (was meines
Wissens nach) nicht mit Autofilter möglich.

Spezialfilter?

Und zum Dritten
kann man den Autofilter soweit ich weiß nicht beschränken und
er gilt immer für die ganze Zeile. Ich möchte aber mehrere
dieser Ergebnistabellen sowohl nebeneinander, als auch
übereinander darstellen.

Stand irgendwie so nicht in der Ausgangsfrage *find*

Bastle mal eine Beispieltabelle wo man in Blatt 1 die Rohdaten sieht, in Blatt 2 trägst du manuell ein wie das aussehen soll wenn du nach irgendwas die Rohdaten gefiltert hast.
Wo stehen die Informationen nach denen gefiltert werden soll usw.

Wir haben keine Glaskugel und wissen nicht was du vor hast, je mehr du uns erklärst desto einfacher wird es nach Lösungen zu suchen.

Gruß
Reinhard

Hallo,

warum benutzt du nicht tatsächlich die Datenbankfunktionen die Excel-VBA zur Verfügung stellt.
http://www.online-excel.de/excel/singsel_vba.php?f=135
Da gibt es ein sehr schönes tutorial dazu.

Gruß Yelmalio

[…]

Hallo Reinhard,

was bedeutet es genau? 10.000, 100.000 1.000.000 ?

Momentan noch knapp über 10.000, kann aber schnell 50.000 werden.

Dabei fällt mir grad auf, warum hast du deine Excelversion
nicht nagegeben? +schelt*

Dachte, dass die Formeln bei allen Versionen gleich sind. Benutze Office 2007.

Wer klickt da, wann, wo, warum?

Per Dropdown auswählen, Zelleninhalt ändern oder zwischen den Tabellen hin und herspringen.

May be es gibt Vba-Lösungen die nicht Zeile für Zeile
vorgehen…

Wie wärs mit einer Vbabasierten Lösung die die Schnelligkeit
von Excelformeln ausnutzt aber auch die Vorteile von Vba
bietet?

Erstens wäre mir eine Formelbasierte Lösung lieber, weil sie einfacher in meinen bestehenden Algorithmus einzubauen wäre.

Außerdem wäre das nur eine Verlagerung des Problems. Eine VBA-Lösung die Formeln benutzt, ohne Zeilenweise vorzugehen kann man doch gleich über die Formeln lösen.

Gruß,
Kevin

Hallo,

Ja, es gibt ein Buch „Excel-Vba in 21 Tagen“,
das gilt aber vielleicht für den Mars wo der Tag 100 Erdtage
lang ist :smile:

Naja - vorhandene Kenntnisse vorausgesetzt

Zeile ausblenden?
Spezialfilter?
…mehrere dieser Ergebnistabellen sowohl nebeneinander, als auch
übereinander darstellen.

Sind zwar nebeneinander, aber alle auf der gleichen Höhe. Wäre vielleicht tatsächlich möglich. Müsste ich mich mal näher mit befassen.

Bastle mal eine Beispieltabelle wo man in Blatt 1 die Rohdaten
sieht, in Blatt 2 trägst du manuell ein wie das aussehen soll
wenn du nach irgendwas die Rohdaten gefiltert hast.
Wo stehen die Informationen nach denen gefiltert werden soll
usw.

Okay, werde ich heut abend mal zusammenbasteln.

Die Beispieldatei gibt es unter

http://rapidshare.de/files/41127155/Beispiel.xlsm.html

Vielleicht wird dann auch klar, warum ich versucht habe das Ganze zu vereinfachen. Man sieht hier ganz gut was schon funktioniert und was noch passieren soll. Eine echte Tabelle zu tippen, wie es später aussehen soll war mir zu umfangreich.

Gruß,
Kevin

http://rapidshare.de/files/41127155/Beispiel.xlsm.html

Vielleicht wird dann auch klar, warum ich versucht habe das
Ganze zu vereinfachen. Man sieht hier ganz gut was schon
funktioniert und was noch passieren soll. Eine echte Tabelle
zu tippen, wie es später aussehen soll war mir zu umfangreich.

Hi Kevin,

ich habe kein XL2007, speichere die datei als xls und lade nochmal hoch.

Gruß
Reinhard

Neue Datei, neuer Link.

http://rapidshare.de/files/41129971/Beispiel.xls.html

Bin mir nicht Sicher, ob da dann auch alles geht, aber das Prinzip dürfte dennoch klar werden.

Hallo Kevin,

sorry, kann da nicht runterladen, normal kommt da ein Bild mit 3-4 Buchstaben, die muß man dann eingeben , aber das Bild wird nciht angezeigt, benutzt mal eine andere Adresse aus FAQ:2861.

Gruß
Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Kevin,

sorry, kann da nicht runterladen, normal kommt da ein Bild mit
3-4 Buchstaben, die muß man dann eingeben , aber das Bild wird
nciht angezeigt, benutzt mal eine andere Adresse aus FAQ:2861.

Gruß
Reinhard

IM FAQ steht "Badango. Das gibt es nicht. Hier aber die links…

http://www.hostarea.de/server-12/Dezember-73f70d45c7…
http://www.badongo.com/file/12474387

Eins muss ja gehen…

IM FAQ steht "Badango. Das gibt es nicht. Hier aber die
links…

http://www.hostarea.de/server-12/Dezember-73f70d45c7…
http://www.badongo.com/file/12474387

Hallo Kevin,

aus schweren Geburten werden die besten Kinder :smile:

Ja, jetzt hat es geklappt.
Ich muß jetzt erst nochmal die Beitragsfolge durchlesen um zu wissen um was es eigentlich ging :smile:

Was ist „_xlfn.SUMIFS(…)“ ?

Danke für den Hinweis auf den Fehler in der FAQ, es wird geändert.

Gruß
Reinhard

Was ist „_xlfn.SUMIFS(…)“ ?

Das ist die Formel „SUMMEWENNS(Summe_Bereich;Kriterien_Bereich1;Kriterien1;…)“ (Addiert die Zellen, die von einer bestimmten Gruppe von Bedingungen oder Kriterien angegeben sind)

siehe hier:
http://hajo-excel.de/2007_neue_funktionen.htm
http://blogs.msdn.com/excel/archive/2005/10/20/48320…
http://www.accountingweb.co.uk/cgi-bin/item.cgi?id=1…

Gruß,
Kevin

Was ist „_xlfn.SUMIFS(…)“ ?

Das ist die Formel
„SUMMEWENNS(Summe_Bereich;Kriterien_Bereich1;Kriterien1;…)“
(Addiert die Zellen, die von einer bestimmten Gruppe von
Bedingungen oder Kriterien angegeben sind)

siehe hier:
http://hajo-excel.de/2007_neue_funktionen.htm
http://blogs.msdn.com/excel/archive/2005/10/20/48320…
http://www.accountingweb.co.uk/cgi-bin/item.cgi?id=1…

Moin Kevin,

gut, SummeWennS ist nur in XL 2007 bekannt, mein XL kennt das nicht, also überall „#NAME!“

Das erelichtert es mir nicht im Sinne deiner Ausgangsfrage „Hans“ zu finden und die entsprechenden Tabellen:frowning:

Gruß
Reinhard

Moin Kevin,

gut, SummeWennS ist nur in XL 2007 bekannt, mein XL kennt das
nicht, also überall „#NAME!“

Das erelichtert es mir nicht im Sinne deiner Ausgangsfrage
„Hans“ zu finden und die entsprechenden Tabellen:frowning:

Gruß
Reinhard

Hi,
vielleicht hilft das:
http://beqiraj.com/office/2007/tipps/open-as-docx/in…

An sonsten geht es darum die Einträge in „Liste“ in „Kategorisiert“ darzustellen. Die „Übersicht“ diente nur dazu zu zeigen, wie ich alle übrigen Probleme bereits gelöst hatte. Ein Problem, das bei „Übersicht“ noch nicht aufgetaucht war ist die Aufzählung der einzelnen Einträge. In „Übersicht“ wurde die Summe über eine Kategorie eines Monats gebildet. Das will ich in „Kategorisiert“ nun nicht mehr tun. Hier sollen alle Einträge aufgelistet werden. Ich stelle mir eine Formel vor, die aus Spalte „$B“ das erste Suchkriterium bezieht und aus Zeile „$3“ das zweite Suchkriterium. Problematisch ist, dass zwei Kriterien noch nicht ausreichen, um einen Eintrag zu determinieren. Es fehlt noch die „Reihenfolge“, die man evtl. über eine Zeilennummer und die Funktion KKLEINSTE definieren kann. Wie ich das nun alles in eine Formel packe, die mir z.B. die Zeilennummer auswirft (damit ich mit SVERWEIS weiterarbeiten kann)… Das hab ich noch nicht hinbekommen.
Vielleicht eine Idee?

Gruß,
Kevin

gut, SummeWennS ist nur in XL 2007 bekannt, mein XL kennt das
nicht, also überall „#NAME!“

vielleicht hilft das:
http://beqiraj.com/office/2007/tipps/open-as-docx/in…

Hallo Kevin,

ich habe mir die Funktion mit Vba nachgebaut. Dieses Tool für XL2007 Dateien will ich mir nicht einbauen.

An sonsten geht es darum die Einträge in „Liste“ in
„Kategorisiert“ darzustellen. Die „Übersicht“ diente nur dazu
zu zeigen, wie ich alle übrigen Probleme bereits gelöst hatte.
Ein Problem, das bei „Übersicht“ noch nicht aufgetaucht war
ist die Aufzählung der einzelnen Einträge. In „Übersicht“
wurde die Summe über eine Kategorie eines Monats gebildet. Das
will ich in „Kategorisiert“ nun nicht mehr tun. Hier sollen
alle Einträge aufgelistet werden. Ich stelle mir eine Formel
vor, die aus Spalte „$B“ das erste Suchkriterium bezieht und
aus Zeile „$3“ das zweite Suchkriterium. Problematisch ist,
dass zwei Kriterien noch nicht ausreichen, um einen Eintrag zu
determinieren. Es fehlt noch die „Reihenfolge“, die man evtl.
über eine Zeilennummer und die Funktion KKLEINSTE definieren
kann. Wie ich das nun alles in eine Formel packe, die mir z.B.
die Zeilennummer auswirft (damit ich mit SVERWEIS
weiterarbeiten kann)… Das hab ich noch nicht hinbekommen.
Vielleicht eine Idee?

Ja, ich nutze es aus daß seit vielen Tagen hier mal die Sonne scheint und schaue mir die Tabellen später an :smile:
Immerhin weiß ich jetzt wo ich da forschen muß.

Gruß
Reinhard