Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Filte oder Zuspalte oder xx
#1
Hallo beisammen,

etrahiere mir Daten aus einem Datenblatt. Bisslang habe ich dies Mite INDEX gemacht, Zeile und Spalte im indes mit vergleich ermittelt um die formel durchkopieren zu können.
Die Datenblätte sind ssehr groß und die vielen Indexe mach das extrem langsam. Nun wollte ich das umbauen mit Filter oder Zuspalte oder anderes um schneller zu werden.

In der Bsp Datei:
Im Tab Dat2, I:K da wunschergebnis mit den alten INDEX(

Versuch:
Im Tab Dat2, A:C da selbe zu erstellen mit Filter oder Zuspalte oder ähnliches. Befüllen der Zellen mit Bezug auf: alle Artikel aus Tab Dat1 mit Daten der dazugehörigen Header aus dem Grunddaten Tab.

Jemand ne Idee was ich da am besten verwende.

LG Stefan


Angehängte Dateien
.xlsx   Filter-Zuspalte.xlsx (Größe: 726,32 KB / Downloads: 17)
Antworten Top
#2
Hola,
in Grunddaten ab J2:
Code:
=ZÄHLENWENN('DAT1'!$A$2:$A$5;A2)
Dann einfach mit Filter() auf Spalte >0 prüfen.
Gruß,
steve1da
Antworten Top
#3
Hallo,

ok verstehe mit Hilfspalte zum ermitteln um welche Zeile es geht, aber gibt es eine möglichkeit auch auch die Spalte als Bezug mit einzubeziehen. Sodass alle drei Spalten befüllt werden ohne die Formel unter jedem Header einzusetzen?

LG stefan
Antworten Top
#4
Hallo Stefan,

ich bin für xx bzw Vergleich und Index.

Bei 10.000 Datensätzen und 3 Spalten benötigst du bei deinen Formeln im Mittel 3*5.000 = 15.000 Vergleiche (mit 3. Parameter 0) um die Indexzeile für jede gesuchte Artikelnummer zu ermitteln.
Wenn du die Artikelnummern nicht als Texte sondern als Zahlen verwaltest, die Grunddaten sortierst und eine Hilfsspalte für die Zeilennummer anlegst, kannst du mit mit 14 Vergleichen (mit 3. Parameter 1) die Indexzeile für jede gesuchte Artikelnummer ermitteln.

Bei 100.000 Datensätzen ist der Faktor nicht mehr ca 1.000 sondern ca. 10.000.


Angehängte Dateien
.xlsx   Filter-Zuspalte.xlsx (Größe: 721,8 KB / Downloads: 9)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#5
=LET(
x;DAT1!A:A;y;INDEX(x;1):INDEX(x;ANZAHL2(x));
s;SORTIEREN(GrundDaten!A1:I3498);
t;XVERGLEICH(y;INDEX(s;;1);0;2);
INDEX(s;t;{1.4.9}))


SORTIEREN und XVERGLEICH machen 'ne Granate draus, die auch bei 1.000.000 statt 3498 Sätzen so schnell bleibt.

Die "GrundDaten" habe ich nicht so wie y dynamisiert, weil sie das manuell einstellbare Ausgangsmaterial darstellen.

EDIT: Ego hat vor mir geantwortet, als ich grad entwarf. Bei mir ist es ein solitärer SPILL.
Antworten Top
#6
Hallo,

Artikelnummer als Zahl geht nicht manche fangen mit 0 an muss also Text sein. Gunddaten Sortieren ist auch kritisch da die Reihenfolge der wichtig ist, aufsteigende Modell Typen die untereinander stehen müssen.

Hmm, also du denkst mit Filte( wird das nicht schneller.

LG stefan
Antworten Top
#7
Mit Verlaub, stefan69: So geht das nicht! Deine Art in Foren verbessert sich seit 5 Jahren um kein µ.
Antworten Top
#8
Hallo Stefan,

1. Umwandeln in Zahlen muss nicht sein. Ich hatte den Eindruck, dass in den Grunddaten die Artikelnummer mal eine Zahl und mal ein Text ist. Das war falsch.

2. LCohen's interne Sortierung umgeht dein Problem mit der Sortierung der Grunddaten.

3. LCohen's Formel mit flexiblen Spaltenüberschriften:

=LET(x;'DAT1'!A2:A10;y;INDEX(x;1):INDEX(x;ANZAHL2(x));s;SORTIEREN(GrundDaten!A1:I3498);t;XVERGLEICH(y;INDEX(s;;1);0;2);WENNFEHLER(INDEX(s;t;XVERGLEICH(A1:C1;GrundDaten!A1:I1;0;1));""))
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#9
Hallo Ego,

ok, danke nochmal. Bin gerade dabei die Formel von LCohen's umzusetzen, werd noch bissel barchen um das komplett zu verstehen. Vorab euch beiden vielen Dank.

LG Stefan.
Antworten Top
#10
Hallo Ego,

habe versucht das in einer der Listen einzubauen. LCohen's Formel mit deiner flexiblen Spaltenüberschriften erweiterung.

Bekomme jedoch viele leere Zellen und kann das Problem nicht ermitteln. Habe mal eine neue verkürzte Bsp Datei hochgeladen.

- Beim fehlenden Hersteller ist mir klar, der liegt auserhalb der Matrix
- Die fehlenden Texte sind mir jedoch ein Rätsel.

Was mache ich falsch?

LG Stefan
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste