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.
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.
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.
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.
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!
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