Discussion:
Dynamische Zeilenauswahl
(zu alt für eine Antwort)
Tobias
2009-09-29 07:01:49 UTC
Permalink
Hallo allerseits,

ich möchte momenten eine Formel für ein Datenblatt mit folgenden
Vorraussetzungen schreiben:
Ein einer Spalte kommt jeden Tag ein neuer Wert dazu, d.h. der neuste Wert
verschiebt sich täglich eine Zeile nach unten.
Aber genau diesen untersten Wert brauche ich zur Auswertung.
Gedacht hatte ich mir etwas in der Art wie: "=$B$(Anzahl2(B3:B100)+2)" was
aber so leider nicht angenommen wird.
Alternativ steht in der A-Spalte noch das jeweilige Tagesdatum, dass man
theoretisch mit dem HEUTE() Datum vergleichen könnte, habe ich so aber auch
nicht hinbekommen.

Hat jemand von euch eine Idee?

Mit freundlichen Grüßen,
Tobias
ransi
2009-09-29 07:12:02 UTC
Permalink
HAllo Tobias

schau dir mal dies an:
B C
1 29 abc
2 93
3 100
4 32
5 41
6 85
7 63
8
9
10
11
12
13 78
14 94
15 25
16
17 1
18
19 abc
20
21



Formeln der Tabelle
Zelle Formel
C1 =VERWEIS(2;1/(B1:B1000<>"");B1:B1000)



Das nennt sich auch "Frank Kabel Lösung".

ransi
Tobias
2009-09-29 09:22:08 UTC
Permalink
Hallo ransi,

danke für deine schnelle Hilfe :)
Das ist ja mal eine interessante Lösung, zwar nicht schön aber effektiv. Für mich solls reichen.

Tobias
"ransi" <***@aol.com> schrieb im Newsbeitrag news:%***@TK2MSFTNGP05.phx.gbl...
HAllo Tobias

schau dir mal dies an:
B C
1 29 abc
2 93
3 100
4 32
5 41
6 85
7 63
8
9
10
11
12
13 78
14 94
15 25
16
17 1
18
19 abc
20
21



Formeln der Tabelle
Zelle Formel
C1 =VERWEIS(2;1/(B1:B1000<>"");B1:B1000)



Das nennt sich auch "Frank Kabel Lösung".

ransi
Andreas Killer
2009-09-29 10:19:57 UTC
Permalink
Post by Tobias
Ein einer Spalte kommt jeden Tag ein neuer Wert dazu, d.h. der neuste Wert
verschiebt sich täglich eine Zeile nach unten.
Aber genau diesen untersten Wert brauche ich zur Auswertung.
Kuckst Du hier:
http://www.excelformeln.de/formeln.html?welcher=48

Findest Du:
letzte Zeile einer Spalte:
{=MAX((A1:A1000<>"")*ZEILE(1:1000))}
entsprechender Eintrag:
{=INDEX(A1:A1000;MAX((A1:A1000<>"")*ZEILE(1:1000)))}
Post by Tobias
Gedacht hatte ich mir etwas in der Art wie: "=$B$(Anzahl2(B3:B100)+2)" was
aber so leider nicht angenommen wird.
=ANZAHL2(A:A)
liefert die Anzahl an Werten, wird bei Dir aber nur funktionieren wenn
Du keine Lücken hast.
Post by Tobias
Alternativ steht in der A-Spalte noch das jeweilige Tagesdatum, dass man
theoretisch mit dem HEUTE() Datum vergleichen könnte, habe ich so aber auch
nicht hinbekommen.
Wenn ich mit
=VERGLEICH(HEUTE();A:A;)
suchen lasse geht das bei mir.
Post by Tobias
Hat jemand von euch eine Idee?
Noch mehr? Nee. ;-))

Andreas.
Tobias
2009-09-29 10:59:45 UTC
Permalink
Danke auch dir Andreas.
Über google-Suche nach Frank Kabel bin ich auch schon auf die Seite
gestoßen. :)
Das mit dem Anzahl2 war ein Flüchtigkeitsfehler. Wobei es mit Anzahl ja
trotzdem auch nicht geht. Der Ansatz ging ja in die Richtung, eine Zelle
durch getrennte Eingabe von Spalte und Zeile zu deffinieren. Ich weiß, dass
es unter VBA eine Solche Möglichkeit gibt "Row[..] ...". Gibts ne
Möglichkeit das in einer Zellenformel auch so auszudrücken? (Das ist jetzt
mehr oder weniger Off-Topic, da mein Problem ja schon gelöst ist. Würde mich
aber dennoch interessieren)
Also ich hoffe es ist klar, wie ich das meine:
Entweder über "Spalte(A);Zeile(3)"
oder über eine Fixe Angabe von z.B. der Spalte "A" zuzüglich einem durch
eine Berechnung ermittelte Zeilenanzahl. Bsp: "$A(2*$F$2)" oder ähnliches.

MfG,
Tobias
Post by Tobias
Ein einer Spalte kommt jeden Tag ein neuer Wert dazu, d.h. der neuste Wert
verschiebt sich täglich eine Zeile nach unten.
Aber genau diesen untersten Wert brauche ich zur Auswertung.
Kuckst Du hier:
http://www.excelformeln.de/formeln.html?welcher=48

Findest Du:
letzte Zeile einer Spalte:
{=MAX((A1:A1000<>"")*ZEILE(1:1000))}
entsprechender Eintrag:
{=INDEX(A1:A1000;MAX((A1:A1000<>"")*ZEILE(1:1000)))}
Post by Tobias
Gedacht hatte ich mir etwas in der Art wie: "=$B$(Anzahl2(B3:B100)+2)" was
aber so leider nicht angenommen wird.
=ANZAHL2(A:A)
liefert die Anzahl an Werten, wird bei Dir aber nur funktionieren wenn
Du keine Lücken hast.
Post by Tobias
Alternativ steht in der A-Spalte noch das jeweilige Tagesdatum, dass man
theoretisch mit dem HEUTE() Datum vergleichen könnte, habe ich so aber auch
nicht hinbekommen.
Wenn ich mit
=VERGLEICH(HEUTE();A:A;)
suchen lasse geht das bei mir.
Post by Tobias
Hat jemand von euch eine Idee?
Noch mehr? Nee. ;-))

Andreas.
ransi
2009-09-29 11:17:12 UTC
Permalink
HAllo Tobias

Du hast zwar Andreas angesprochen, aber ich antworte trotzdem.
Suchst du vieleicht die Tabellenfunktion =indirekt () ?

A B C D
1 78 123
2 83
3 15
4 20
5 65
6
7
8
9
10
11
12 123
13
14

Formeln der Tabelle
Zelle Formel
C1 {=INDIREKT("A" & MAX((A1:A65535<>"")* (ZEILE(1:65535))))}

Enthält Matrixformel:
Umrandende { } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


ransi
Andreas Killer
2009-09-29 12:28:39 UTC
Permalink
Post by Tobias
Entweder über "Spalte(A);Zeile(3)"
oder über eine Fixe Angabe von z.B. der Spalte "A" zuzüglich einem durch
eine Berechnung ermittelte Zeilenanzahl. Bsp: "$A(2*$F$2)" oder ähnliches.
Ja das geht. Schau Dir mal die Hilfe zu "INDEX Syntax 2" also

INDEX(Bezug;Zeile;Spalte;Bereich)

an, damit kannst Du solche Sachen machen.

Naja fast, Du kannst nicht direkt "A" für die Spalte angeben. Aber Du
solltest eh nach Möglichkeit davon Abstand nehmen, weil INDIREKT
eingegebene Bezüge nicht automatisch von Excel beim Verschieben/Zellen
einfügen/etc. angepasst werden.

Andreas.

Loading...