grasihuepfer
Goto Top

Excel - erste Zahl eines Bereiches innerhalb einer spalte

Hi Leute!

Ich möchte gern die erste Zahl im Bereich C16:C24 wiedergeben lassen. Alle 9 Zellen sind durch Formeln einer Wenn-Funktion so in etwa dieser Art verbunden:

=wenn(A1>0;B1;"") mir wird also entweder eine Zahl oder ein leeres Feld angezeigt. Die passende Funktion soll nun von oben den Bereich scannen und mir die erste Zahl wiedergeben.

Ich danke für Eure Hilfe

Content-Key: 222631

Url: https://administrator.de/contentid/222631

Printed on: April 19, 2024 at 06:04 o'clock

Member: colinardo
colinardo Nov 21, 2013 at 18:33:39 (UTC)
Goto Top
Hallo Grasihuepfer,
das kannst du mit folgender Matrix-Formel erreichen:
=INDEX(C16:C24;VERGLEICH(WAHR;WENN(C16:C24<>"";WAHR);0))
WICHTIG:
Im Gegensatz zu den normalen Formeln, die nur mit ENTER beendet werden, musst du Matrixformeln mit STRG+UMSCHALT+EINGABE abschließen. Excel fügt dann die geschweiften Klammern automatisch hinzu.

Grüße Uwe
Member: grasihuepfer
grasihuepfer Nov 21, 2013 at 19:31:25 (UTC)
Goto Top
Hallo Uwe!

Leider funktioniert die Formel nicht. Hab gerade alles kopiert und korrekt geschlossen. Hast Du es mal bei Dir ausprobiert? Hab Excel 2013

Gruß grasihuepfer
Member: colinardo
colinardo Nov 21, 2013 at 20:11:43 (UTC)
Goto Top
Bei mir gehts einwandfrei ...
Hier mal ein Demo-Sheet

Grüße Uwe
Member: Biber
Biber Nov 21, 2013 at 22:07:34 (UTC)
Goto Top
... und als inhaltlich identische, aber vielleicht lesbarere Variante
{=INDEX(C16:C24;VERGLEICH(WAHR;ISTZAHL(C16:C24);0))}

.... auch wieder ohne die geschweiften Klammern einzugeben und mit Strg-Shift-Enter abzuschliessen.

Grüße
Biber
Member: grasihuepfer
grasihuepfer Nov 22, 2013 at 04:51:18 (UTC)
Goto Top
Zitat von @colinardo:

Hallo Grasihuepfer,
das kannst du mit folgender Matrix-Formel erreichen:
> =INDEX(C16:C24;VERGLEICH(WAHR;WENN(C16:C24<>"";WAHR);0))
> 
WICHTIG:
Im Gegensatz zu den normalen Formeln, die nur mit ENTER beendet werden, musst du Matrixformeln mit STRG+UMSCHALT+EINGABE
abschließen. Excel fügt dann die geschweiften Klammern automatisch hinzu.

Grüße Uwe


Hab den Fehler entdeckt. Du hattest geschrieben, man muss mit STRG+UMSCHALT+EINGABE beenden. Der richtige Abschluss wäre Strg-Shift-Enter, wie Biber schrieb.

Ich danke Euch, jetzt funktionierts
Member: colinardo
colinardo Nov 22, 2013 at 07:51:10 (UTC)
Goto Top
Zitat von @grasihuepfer:
Hab den Fehler entdeckt. Du hattest geschrieben, man muss mit STRG+UMSCHALT+EINGABE beenden. Der richtige Abschluss wäre Strg-Shift-Enter, wie Biber schrieb.
Wo ist da der Unterschied? außer das das eine Deutsch und das andere Englisch ist...
Member: Snowman25
Snowman25 Nov 22, 2013 at 08:25:43 (UTC)
Goto Top
Zitat von @grasihuepfer:

Hab den Fehler entdeckt. Du hattest geschrieben, man muss mit STRG+UMSCHALT+EINGABE beenden. Der richtige Abschluss wäre
Strg-Shift-Enter, wie Biber schrieb.

Was hast du gedrückt, als du die Umschalt-Taste drücken solltest?
Member: grasihuepfer
grasihuepfer Nov 23, 2013 at 06:20:52 (UTC)
Goto Top
Sorry, war mein Fehler. Ich dachte, die Umschaltsperre heißt Umschalttaste. Danke für die Berichtigung.

Könnt Ihr mir noch sagen, wie man eine beliebige Zelle danach findet, also zum Beispiel die dritte Zelle in einem Bereich.

Danke im voraus
Member: colinardo
colinardo Nov 23, 2013 updated at 09:07:40 (UTC)
Goto Top
(normale Formel) gibt den Wert der 3. Zelle im Bereich C16:C24 wieder.
=Index(C16:C24;3)
falls du aber die dritte Zelle nach dem gefundenen Wert suchst :
=BEREICH.VERSCHIEBEN(INDEX(C16:C24;VERGLEICH(WAHR;ISTZAHL(C16:C24);0));3;0)
(Matrix-Formel)

Grüße Uwe
Member: grasihuepfer
grasihuepfer Nov 23, 2013 at 13:08:21 (UTC)
Goto Top
Hab mich falsch ausgedrückt. Ich meinte, wie oben bei der ursprünglichen Frage die 3. Zahl im Bereich (auch wenn Leerzellen dabei sind).
Member: colinardo
colinardo Nov 23, 2013 updated at 13:12:59 (UTC)
Goto Top
Zitat von @grasihuepfer:
Hab mich falsch ausgedrückt. Ich meinte, wie oben bei der ursprünglichen Frage die 3. Zahl im Bereich (auch wenn
Leerzellen dabei sind).
hab ich doch in Variante 1 meines Posts geschrieben
=Index(C16:C24;3)
Member: grasihuepfer
grasihuepfer Nov 23, 2013 at 14:09:43 (UTC)
Goto Top
aber wenn ich Leerzellen zwischen den Zahlen habe, zeigt er mir die immer die 3. Zelle an, egal ob sie leer ist, oder nicht. Aber leider nicht die dritte Zahl (ausgefüllte Zelle).
Bsp.
C16 4
C17 3
C18 leer
C19 leer
C20 8

Es sollte hier die 8 wiedergeben werden, stattdessen wird nichts angezeigt.
Member: colinardo
colinardo Nov 23, 2013 at 14:50:13 (UTC)
Goto Top
Zitat von @grasihuepfer:
aber wenn ich Leerzellen zwischen den Zahlen habe, zeigt er mir die immer die 3. Zelle an, egal ob sie leer ist, oder nicht.
das muss man natürlich wissen ! Dein voriges Statement
(auch wenn Leerzellen dabei sind).
hatte ich so interpretiert das es egal ist wenn auch eine leere Zelle zurückgegeben wird. Das nächste mal direkt etwas präziser formulieren. Merci.

dein gewünschtes Verhalten kannst du mit folgender Matrix-Formel erreichen:
=INDIREKT("C"&KKLEINSTE(WENN(ISTZAHL(C16:C24);ZEILE(C16:C24));3))
Mit der letzte Zahl in der Formel legst du fest welche "gefüllte" Zelle du übernehmen willst.

Grüße Uwe
Member: Biber
Biber Nov 23, 2013 updated at 22:57:41 (UTC)
Goto Top
Moin grasihuepfer,

ich kann zunehmend weniger erkennen, ob und nach welchen Kriterien deine Tabelle aufgebaut sein mag und ob es für deinen Anwendungsfall wirklich eine sinnhafte Fragestellung "Gib mir den x-ten Wert aus einer Kraut-und-Rübenspalte, der eine Zahl ist"gibt.

Angenommen, es wäre wirklich so (vielleicht kannst du mal in zwei Sätzen skizzieren, was in deiner Tabelle abgeht?)....

Dann würde ich bei diesem ohnehin schon unübersichtlichen Tabellenaufbau lieber nicht mit so tippfehlerträchtigen Formeln wie INDIREKT() und BEREICH.VERSCHIEBEN(), aber bitte als Matrixfomel hantieren, sondern mit einer Hilfsspalte arbeiten.

Wenn denn in dem Bereich $C$16:$C$24 die durchzuflöhenden Werte landen, dann schreibe irgendwo rechts daneben in eine freie Spalte (die du ja später ausblenden kannst) beginnend in Zeile 16 die Formel

=D15+ISTZAHL(C16)

Ich hab bei mir Spalte D genommen, die war grad frei, daher kommt das "D15"

Dann kannst du -was für Excel-Verhältnisse wirklich noch halbwegs lesbar und wartbar ist - mit Index()/Vergleich() den x-ten Zahlenwert finden:
=INDEX($C$16:$C$24;VERGLEICH(4;$D$16:$D$24;0)) 

...oder, wenn du deine Bereiche schlauerweise benamst hast
=INDEX(wertespalte;VERGLEICH(4;hilfsspalte;0)) 
-> wobei ich jetzt als Beispiel den vierten Zahlenwert aus deiner Wertespalte suche.

Nichtsdestotrotz, für mich ist der Aufbau deiner Tabelle nicht unbedingt selbsterklärend.
Von daher ist die Frage nach der "richtigen" Formel etwas schwierig.

Grüße
Biber
Member: grasihuepfer
grasihuepfer Nov 25, 2013 at 14:30:58 (UTC)
Goto Top
Vielen Dank für Eure Antworten!

Die Tabelle arbeitet mit einem Import einer Textdatei(VBA). Die Werte in diesem Bereich ändern sind ständig, sind also variabel.Genau genommen geht es um Pokerdateien, die sich im Spiel ständig ändern und somit verschiedenste Ereignisse, z.B. ein Ausfall eines Spieler, wie auch Änderungen der Positionen oder Chipstände berücksichtigen. Um das alles zu erklären, reicht mir die Zeit nicht.

Grüße grasihuepfer