Microsoft Excel

Herbers Excel/VBA-Archiv

Flexiblen Spaltenbereich in Formel einbinden

Betrifft: Flexiblen Spaltenbereich in Formel einbinden von: Matze Matthias
Geschrieben am: 11.10.2014 11:32:30

Hallo @ All,
habe mit der Formel
'=WENNFEHLER(SVERWEIS($A$2;Vorgabe!"1:"&{MAX((Vorgabe!A1:HG1<>"")*SPALTE(Vorgabe!A:HG))};SPALTE();0);"Nr nicht vorhanden")
das Problem das die ermittelte letzte Spalte dort eingebunden werden soll.
Ich möchte die ermittelte letzte Spalte nicht in einer extra Zelle haben, sondern direkt in der Formel. was mach ich da wieder falsch??

Dankend Matze

  

Betrifft: Flexiblen Spaltenbereich in Formel einbinden von: Matze Matthias
Geschrieben am: 11.10.2014 11:48:09

Hallo nochmal,
...so sieht es jetzt aus:

{=WENNFEHLER(SVERWEIS($A$2;"Vorgabe!1:"&MAX((Vorgabe!A1:HG1<>"")*SPALTE(Vorgabe!A:HG));SPALTE();0); "Nr nicht vorhanden") }
leider liefert er mir als Ergebnis immer "Nr nicht vorhanden"
Musterdatei: https://www.herber.de/bbs/user/93115.xlsx

Dankend Matze


  

Betrifft: AW: Flexiblen Spaltenbereich in Formel einbinden von: Christian
Geschrieben am: 11.10.2014 12:18:12

Hallo Matze,

die Nummern kommen doch per Auswahl in die Zelle A2, das ist doch eine Fehlerüberprüfung nicht notwendig, oder war das nur im Bsp.?

Ansonsten würde ich eher folgenden Ansatz nehmen:
=WENN(SPALTE(B1)>ANZAHL2(INDEX(Vorgabe!$A:$HG;VERGLEICH($A2;Vorgabe!$A:$A;0);));"";INDEX(Vorgabe!$A:$HG;VERGLEICH($A2;Vorgabe!$A:$A;0);VERGLEICH(B$1;Vorgabe!$A$1:$HG$1;0)))

MfG Christian


  

Betrifft: das warum? von: Matze Matthias
Geschrieben am: 11.10.2014 12:44:32

Hallo Christian,
gegen deinen Ansatz kann ich nix sagen so fange ich den Bereich gut ab.
Ist halt ein anderer guter Lösungsweg.

Ich wollte halt wissen warum das mit {MAX((Vorgabe!A1:HG1<>"")*SPALTE(Vorgabe!A:HG))}
nicht funktioniert.

Kopfkratz Matze


  

Betrifft: weil Du SVERWEIS() keine Matrix übergibst ... von: neopa C (paneo)
Geschrieben am: 11.10.2014 14:10:05

Hallo Matze,

... sondern lediglich einen Text (der noch dazu auch als solcher nicht den Matrixbereich beschreibt, den Du benötigen würdest) und damit kann SVERWEIS() natürlich nichts anfangen.

Was Du möglicherweise anstrebst wäre z.B. folgendes Formelkonstrukt:

=WENNFEHLER(SVERWEIS($A2;Vorgabe!A1:INDEX(Vorgabe!$A:$ZZ;ANZAHL2(Vorgabe!$A:$A); ANZAHL2(Vorgabe!$1:$1));SPALTE();0);"Nr nicht vorhanden")

Doch rate ich nicht zu diesen, wie auch nicht zu Christians Formel. Denn mit beiden hättest Du ein kleines Problem, wenn in der Quelltabelle und oder Zieltabelle eine Spalte eingefügt wird.

Deshalb: was spricht den gegen das einfache:

=WENNFEHLER(SVERWEIS($A2;Vorgabe!$1:$999;VERGLEICH(B$1;Vorgabe!$1:$1;););"")



Gruß Werner
.. , - ...


  

Betrifft: Aaah, ok, daher ist das nicht möglich, von: Matze Matthias
Geschrieben am: 11.10.2014 15:43:27

Hallo Werner,
...wollte einfach nur verstehen und das Dank deiner Hilfe nun auch im Kopf Platz gefunden hat,(mal sehn wielange meine grauen Zellen das behalten).

Deine Lösung macht echt Sinn , danke auch hierfür.

Allen ein schönes und hoffentlich sonniges WE,
Gruß Matze


 

Beiträge aus den Excel-Beispielen zum Thema "Flexiblen Spaltenbereich in Formel einbinden"