SVERWEIS über mehrere Reiter

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Lazzard
*
Beiträge: 14
Registriert: Mo, 18.05.2009 09:20

Re: SVERWEIS über mehrere Reiter

Beitrag von Lazzard »

Uih...Asche auf mein Haupt.

In meinem vorherigen Beitrag habe ich glaube deine Fragen beantwortet ;)

Nun zu deinen nächsten Fragen:
Wiegesagt, die Datenblätter heißen leider teilweise anders, als die Artikelhersteller dort drinnen.

Was als einziges in der CSV Tabelle und den anderen immer gleich ist, ist die Artikelnummer wie z.B. 100130

Die Meldung Suchkriterium existiert nicht! kommt aktuell bei allen HP Color Produkten in meiner Liste.
Die Artikelnummern sind alle richtig und tauchen ebenso in der CSV Liste auf.
Witziger weise funktioniert die HP Monocrome Liste, nur das zweite Rechenblatt mit den Color funzt nicht mehr.
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: SVERWEIS über mehrere Reiter

Beitrag von balu »

Hallo Lazzard,

so richtig nachvollziehbar, ohne eine aktualisierte Beispieldatei mit HP-Produkten anstatt mit Brother, ist das ganze für mich momentan überhaupt nicht.

Eins kann ich dir aber jetzt schon mal sagen. Ohne Makro wirst Du höchstwahrscheinlich nicht weiter kommen. Ich habe mir diesbezüglich auch schon versucht gedanken drum zu machen, aber so gut sind meine Makro Kenntnisse noch nicht.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Lazzard
*
Beiträge: 14
Registriert: Mo, 18.05.2009 09:20

Re: SVERWEIS über mehrere Reiter

Beitrag von Lazzard »

@Balu
Danke das du dir um meine Probleme so einen Kopf machst ! Wirklich vielen Dank !

Sagen wir vielleicht mal so, kannst du mir helfen, eine Formel für jeden Reiter zu entwerfen ?
Bzw eigentlich müsste ich nur wissen, wie ich den gesamten Bereich als Matrix angebe.
Irgendwie hatte ich in deinen Formeln was gelesen, dass man das gesamte Rechenblatt als Matrix sieht.

Dann habe ich halt für insgesamt 8 Reiter, 8 unterschiedliche Formeln, die ich bei Neuprodukten anwende.
Das würde mir dann auch schon reichen.

Vielen vielen Dank nochmal !!
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: SVERWEIS über mehrere Reiter

Beitrag von balu »

Hallo Lazzard,
Danke das du dir um meine Probleme so einen Kopf machst ! Wirklich vielen Dank !
Gerne :).
Das ist aber auch mal eine andere Herausforderung. Und wenn ich es geschafft haben sollte, dann hab ich auch wieder was dazu gelernt.

Das Haupt- und Grundproblem welches Du ja eigentlich hast, ist ein 3-D Datenbereich. 3-D ist gleich 3 Dimensional.

[k]Was zum Donnerwetter ist denn nun wieder ein 3-D Datenbereich?[/k]
Nun, das ist das verarbeiten von Daten nicht nur in einem Tabellenblatt (2-D), sondern auch noch über mehrere Tabellenblätter hinaus. Das nennt man dann einen 3 Dimensionalen Datenbereich, kurz 3-D. Und mir ist momentan nur eine Formel bekannt, die 3-D kann, und das ist =SUMME().

Simples Beispiel:
Du hast 3 Tabellenblätter mit den Namen; Tabelle1, Tabelle2 und Tabelle3.
In diesen hast Du nun jeweils in der Zelle A15 eine Zahl stehen. Und nun möchtest Du die Zahlen aus den drei Tabellenblättern addieren. Das kann man beispielsweise so machen.

Code: Alles auswählen

=Tabelle1.A15+Tabelle2.A15+Tabelle3.A15
Aber mit SUMME geht das viel einfacher.

Code: Alles auswählen

=SUMME(Tabelle1.A15:Tabelle3.A15)
Wie gesagt, das ist 3-D.

Einen SVERWEIS über mehrere Tabellenblätter hinaus zu konstruieren, ist wirklich nicht ganz so einfach. Einfacher würde er gehen, wenn die Tabellenblätter-Namen mit einem Zahlenindex versehen wären, wie im eben genannten Beispiel. Wenn diese Tabellenblätter-Namen aber nur aus reinem Text bestehen, so wie es bei dir der Fall ist, dann wird das ganze schon bedeutend schwerer. Aber mal schaun was sich da noch machen lässt, hab da noch ein paar ungetestete Ideen.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Lazzard
*
Beiträge: 14
Registriert: Mo, 18.05.2009 09:20

Re: SVERWEIS über mehrere Reiter

Beitrag von Lazzard »

Was meinst du mit Zahlenindex als Namen bei den Rechenblätter ?

Ich könnte die Rechenblätter benennen in:
1. Reb.f.Brother
2. Reb.f.Canon
usw

Reicht das ?

Aktuell würde es mir schon reichen, wenn ich für jeden Reiter/Rechenblatt eine Formel hätte, die ich immer nutzen kann.
Dann muss ich halt bei einem neuen Canon Produkt, die Canon Formel nutzen usw.
Das würde mir schon reichen. Aber am liebsten so in der Formel, dass er das gesamte Rechenblatt durchsucht.
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: SVERWEIS über mehrere Reiter

Beitrag von balu »

Hallo Lazzard,
Was meinst du mit Zahlenindex als Namen bei den Rechenblätter ?

Ich könnte die Rechenblätter benennen in:
1. Reb.f.Brother
2. Reb.f.Canon
usw

Reicht das ?
Der Zahlenindex so wie Du ihn jetzt als Beispiel aufgeführt hast, wäre an der falschen Stelle. Ich meinte das ehern so rum.
Reb.f.Brother.1
Reb.f.Canon.2

Aber das spielt nun auch keine Rolle mehr, da ich meine Idee nicht in die Tat umsetzen konnte. Und folgedessen musste ich auf eine Notlösung mit mehreren Hilfsspalten ausweichen. Diese gefällt mir wohl auch nicht so recht, aber sie funktioniert einigermaßen. Das Verfahren ist wie folgt.


Für 8 Produkt-Blätter, aber ohne CSV, gibt es im Blatt CSV jeweils eine Spalte mit einer SVERWEIS-Formel die die Art-Nr aus der Spalte A im jeweiligem Blatt sucht. Also Spalte 1 sucht in Blatt Nr.1 nach der Art-Nr, Spalte 2 im Blatt Nr.2 usw.
Und wenn die Art-Nr gefunden wurde, wird sie halt in der entsprechenden Spalte ausgegeben.
Das suchen und ausgeben in den 8 extra Spalten geschieht eigentlich nicht wesentlich anders, als wie ich es hier schon im Thread erklärt hatte. Nur das die nun eingesetzte Formel etwas umfangreicher geworden ist. Doch das erklär ich gleich noch etwas genauer.

Da durch die 8 extra Spalten der gesuchte Betrag nun aber in unterschiedlichen Spalten steht, muss er nun noch in die Preis-Spalte (H) übertragen werden. Das geht ganz einfach mittels.

Code: Alles auswählen

=MAX(I2:P2)
Ich habe nun noch ein sehr kleines Makro angewendet, welches nur alle vorhandenen Namen der einzelnen Tabellenblätter untereinander in einer extra Spalte (AA) auflistet. Die Datei kann aber auch ohne das Makro verwendet werden, nur musst Du dann die Namen in exakter schreibweise in der dafür vorgesehenen Spalte AA von Hand eintragen. Also in AA2 bis AA9, der Blassgrüne Bereich.

In den Spalten rechts daneben, AB und AD, wird nun eine Bereichsadresse mit dem Blattnamen erstellt, also beispielsweise so.

Code: Alles auswählen

'Reb.f.Brother'.B12:B1000 'Reb.f.Brother'.B12:G1000
Auf diese beiden Spalten greifen die Formeln in den 8 extra Spalten drauf zu. Eigentlich ist es ja nur eine Formel die nach rechts und nach unten gezogen (kopiert) werden kann. Und diese sieht so aus.

Code: Alles auswählen

=WENN(ISTFEHLER(ZÄHLENWENN(INDIREKT(INDIREKT("AB"&SPALTE(B$1)));$A2));"";WENN(ZÄHLENWENN(INDIREKT(INDIREKT("AB"&SPALTE(B$1)));$A2);SVERWEIS($A2;INDIREKT(INDIREKT("AD"&SPALTE(B$1)));6;0);""))
Ich weiß, durch die vielen INDIREKT sieht die Formel recht wüst aus. Aber sie bietet eine gewisse felexibilität, die das ganze fast wieder gut macht. Und das versuch ich jetzt mal zu erklären.

Code: Alles auswählen

INDIREKT(INDIREKT("AB"&SPALTE(B$1)))
Die Namen der einzelnen Tabellenbläter werden ja in der Spalte AA von AA2 bis AA9 eingetragten (egal ob von Hand oder per Makro). Und rechts daneben (in diesem Fall in AB) werden ja die Bereichsadressen zusammengestellt.
SPALTE(B$1) gibt nun den Wert 2 zurück, da ja Spalte B die 2te Spalte ist. Also gibt nun die erste INDIREKT die Zelladresse AB2 zurück. Da aber AB2 nicht die richtige Adresse ist, wird erst durch die 2te INDIREKT gesagt, dass die erste INDIREKT Indirekt auszuwerten ist. Und jetzt wird die richtige Adresse ausgegeben.

Code: Alles auswählen

'Reb.f.Brother'.B12:B1000
Und warum habe ich das mit der SPALTE(B$1) angewendet?
Nun, ganz einfach.
SPALTE dient in diesem Falle als Indexzähler (Spaltenzähler). Wenn also die Formel nach rechts gezogen wird, ändert sich der Spaltenbuchstabe innerhalb von SPALTE. Aus SPALTE(B$1) wird dann SPALTE(C$1) usw. etc. Und dadurch ändert sich wiederum dann die Zelladresse in der ersten INDIREKT. Aus AB2 wird AB3, AB4 etc.

Code: Alles auswählen

=WENN(ISTFEHLER(ZÄHLENWENN(INDIREKT(INDIREKT("AB"&SPALTE(B$1)));$A2))
Damit wird nur überprüft ob das Tabellenblatt vorhanden ist. Und wenn ja, dann gehts hiermit weiter.

Code: Alles auswählen

WENN(ZÄHLENWENN(INDIREKT(INDIREKT("AB"&SPALTE(B$1)));$A2)
Jetzt wird nachgeschaut ob das Suchkriterium (die Art-Nr) im dementsprechendem Blatt vorhanden ist. Und wenn es gefunden wurde, kommt zu guter letzt die SVERWEIS dran.

Code: Alles auswählen

SVERWEIS($A2;INDIREKT(INDIREKT("AD"&SPALTE(B$1)));6;0)
Leider hatte ich mein mir erdachtes Ziel nicht erreicht. Denn ich wollte das alles so hinbekommen, dass die eben erklärte Formel als Matrixformel in einer einzigen Spalte steht, aber dennoch alle Blätter abarbeitet. Kurz: Ich bin kläglich gescheitert! :oops:
Dennoch hoffe ich das Du mit dem jetzigem Ergebnis etwas anfangen kannst. :)

Mit einem etwas umfangreicherem Makro könntest Du bestimmt ohne meine Formel auskommen. Doch dafür bin ich noch nicht so der geeignete Ansprechpartner, und außerdem gehört das dann in das dementsprechene Unter-Forum.


Gruß
balu
Dateianhänge
SVERWEIS_mehrere_Blätter__2.ods
(29.76 KiB) 91-mal heruntergeladen
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Lazzard
*
Beiträge: 14
Registriert: Mo, 18.05.2009 09:20

Re: SVERWEIS über mehrere Reiter

Beitrag von Lazzard »

Moin Balu,

besten Dank für deine immer so ausführlichen Antworten !!

Leider wird das dann wirklich zu viel für meine Preisliste. Ich dachte halt, es würde einfacher und unkomplizierter gehen.
Dies scheint leider nicht so....*schnief*

Ich werde mal noch etwas hin und her überlegen, was da Sinn macht.

Eigentlich sah die Lösung zwischendurch ja echt gut aus, bis auf dass plötzlich 2 Rechenblätter vollkommen ausgelassen wurden.
Antworten