Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1556to1560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vergleich mit Leerzelle

Vergleich mit Leerzelle
22.05.2017 18:18:46
Klaudius
Hallo
möchte aus einer Zeile die erste leere Spalte ausgeben
Die Formel:
=Vergleich("="&"";B1:Z1;0) liefert aber nur #NV ab
Wo liegt der Hacken ?

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nicht VERGLEICH() sondern VERWEIS() ...
22.05.2017 19:22:58
...
Hallo Klaudius,
.... so: =VERWEIS(9;1/(1:1"");1+SPALTE(1:1))
Gruß Werner
.. , - ...
Deine Fml setzt voraus, dass alle Zellen vor ...
22.05.2017 20:51:40
Luc:-?
…der 1.leeren gefüllt und vor allem danach ebenfalls leer sind, Werner;
eine leere Zelle mitten im angegebenen Bereich wird so nicht gefunden!
Was Klaudius nun wirklich haben will, ist so nicht 100%ig klar, was Du ja idR nachfragst… ;-)
Gruß, Luc :-?
AW: ja, hatte ich vorausgesetzt, ...
23.05.2017 08:45:50
...
Hallo Luc,
... weil es mir naheliegend erschien, dass die erste Spaltennummer nach dem letzten Wert gesucht wäre.
Du hast aber natürlich Recht, dass dies nicht so sein muss und auch Recht damit, das nicht eindeutig ist, was Klaudius nun wirklich sucht. Deine und Daniels getroffenen Annahmen können insofern genauso nicht zutreffend sein, wenn man Klaudius Aussage: "die erste leere Spalte" auf die Goldwaage legt.
Möglicherweise meint Klaudius wirklich nur die erste leere Zelle in B1:Z1. Aber auch diese lässt ohne klassische Matrixformel mit einer Matrixfunktion(alität)sformel ermitteln:
=ADRESSE(1;1+VERGLEICH("";INDEX(B1:Z1&"";););)
Gruß Werner
.. , - ...
Anzeige
Ja, klar, so erhältst Du die vollständige ...
23.05.2017 15:38:03
Luc:-?
…ZellAdresse, Werner,
und dank INDEX auch ohne Kennzeichnung als MatrixFml, was dann auch für meine Variante gilt.
Interessant ist aber etwas Anderes, nämlich das 3.Argument von ADRESSE, das Du vorsiehst, aber nicht angibst, was norma­ler­weise 0 bedeutet. Hier sind aber die Werte 1…4 vorgesehen, was dann dazu führt, dass auch in diesem Fall 1, nicht 0, verwendet wird und bei Aufruf des FmlAssis dieses unnötige ; sogar entfernt wird, eine eingetragene 0 dann aber zu einem #WERT!-Fehler führt!
Letztlich ist dieses Argument in Xl ja auch falsch herum angelegt worden, weshalb der Pgmmierer dann derartige Klimmzüge entgg der sonst üblichen Verfahrensweise veranstalten musste (in VBA ist das für die Range-Eigenschaft .Address nämlich genau anders, nämlich richtig herum konstruiert (0 bzw eigentlich False bedeutet relativ)!
Übrigens, ich habe inzwischen auch ein Bsp für AGGREGAT mit erforderlicher MatrixFml-Form gefunden. Die Überprüfung Deiner StandardVerwendung unter Hinzunahme von INDEX führte dann automatisch zu einer dualen MatrixFml, während sonst eine singulare ausreichen würde. Das will ich noch in mein Bsp einbauen, dann erscheint es zu diesem aktuellen Thread
(Archiv: https://www.herber.de/forum/archiv/1556to1560/t1559794.htm#1559794 ).
Gruß, Luc :-?
Anzeige
AW: hierzu ...
23.05.2017 16:51:08
...
Hallo Luc,
... antworte ich Dir nun auch in diesem thread. AGGREGAT()kann man sehr wohl auch innerhalb einer klassischen Matrixformel einsetzen. Habe ich auch schon getan (war aber bisher sehr selten notwendig.
Das Problem im anderen thread ist, dass die Funktionen 7 und 8 von AGGREGAT() nicht wirklich Matrixversionsfähig im Sinne (m)einer Matrixfunktion(alität)sformel sind. Darauf verweist ja MS ja auch in der Onlinehilfe.
Insofern ist dort eine klassische Matrixformel derart, wie Du sie da aufgezeigt hast, derzeit wohl eine gut geeignete Lösungsformel.
Allerdings widerspreche ich Dir bzgl. Deiner dortigen Aussage, dass eine Lösung mit AGGREGAT() und INDEX() nicht ohne klassische Matrixformel funktionieren würde. Du hast allerdings völlig Recht damit, dass eine derartige Lösungsformel nur unnötig sehr lang würde und durch den Mehreinsatz von Funktionen die Auswertung nur verlangsamt.
Gruß Werner
.. , - ...
Anzeige
Nun gut, das muss ich mir noch ansehen und ...
23.05.2017 18:16:44
Luc:-?
…jetzt ist auch meine Zusammenstellung überarbeitet, Werner;
zu meinen auf Deine Lösung hier bezogenen Ausführungen hast Du ja offensichtlich keine weiteren Bemerkungen… ;-]
Luc :-?
AW: was kann man dazu auch schreiben ...
24.05.2017 17:13:42
...
Hallo Luc,
... außer festzustellen, dass diese Funktion offensichtlich wieder von einem anderen MA programmiert wurde und es keine einheitliche Richtlinien für die Argumentdefinitionen gab. oder was meinst Du?
Gruß Werner
.. , - ...
Bingo, würde ich Dir antworten, Werner! ;-) owT
24.05.2017 20:26:56
Luc:-?
:-?
Wahrscheinlich dort, wo du ihn verloren hast, ...
22.05.2017 19:26:32
Luc:-?
…Klaudius; ;-]
der Haken besteht dann darin, dass du einerseits wohl nur dann nach "=" suchen solltest, wenn du auch ein = finden willst (Syntax von VERGLEICH nachlesen!) und andererseits zum Feststellen leerer Zellen bei dieser Methode "" (Leertext) nichts nutzt. Dafür ist die Fkt ISTLEER vorgesehen. Du kannst nun eine reine ReihenfolgeZahl ausgeben (die n. in B1:Z1) …
{=VERGLEICH(WAHR;ISTLEER(B1:Z1);0)}
oder auch die SpaltenNr (hier mit #NV-Ersatz):
{=WENNFEHLER(VERGLEICH(WAHR;ISTLEER(B1:Z1);0)+1;0)}
Beide Fmln sind singulare (1zellig-1wertige) MatrixFmln und müssen deshalb mit TastenKombi [strg][umsch][enter] statt nur [enter] abgeschlossen wdn. Unter Verwendung von AGGREGAT in der sog Matrix­version sollte man das auch als NormalFml (aber länger!) hinbekommen.
Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Vergleich mit Leerzelle
22.05.2017 19:48:53
Daniel
Hi
Leerzellen sind immer ein bisschen schwierig.
so gehts mit Vergleich:
=Vergleich("";B1:Z1&"";0)
das ist aber eine Matrixformel, dh du musst die Eingabe immer mit STRG+SHIFT+ENTER abschließen.
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige