Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
512to516
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
512to516
512to516
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Anzahl der nicht leeren Zellen zu Zeile() addieren

Anzahl der nicht leeren Zellen zu Zeile() addieren
05.11.2004 12:10:05
Horst
Moin moin,
möchte gern eine Liste mit ca. 1000 Einträgen (zur Vereinfachung nur Spalte A) durchlaufen, die jeweils durch 2 Leerzeilen unterbrochen sind. Excel soll mir in A1 anzeigen, wieviele Zeilen bis zur nächsten Leerspalte vorhanden sind. Bsp.
A3=1
A4=2
A5=3
A6=leer
A7=leer
A8=4
A9=5
A10=6
A11=7
A12=8
A13=leer
Die Werte in Spalte A beziehe ich aus einem anderen Blatt. Soll mir Excel jeweils über den Werten anzeigen, wieviele Zeilen beschrieben sind. Im Bsp. in Zelle A2 die Zahl "3" in A7 die Zahl "5" usw.
Bitte um Hilfe!
Gruß
Horst

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

Betreff
Datum
Anwender
Anzeige
{=VERGLEICH(WAHR;ISTLEER(A3:A$1000);0)-1}
WF
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter; - das erzeugt sie.
http://www.excelformeln.de/
die ultimative Formelseite
Leider nicht! :-(
05.11.2004 12:32:43
Horst
Hallo WF,
danke für Dein Feedback, leider ist das nicht das, was ich suche!
Die Formeln in den Zellen in Spalte A sollen in etwas so aussehen (hier z.B. A2) =wenn(Zeile()-1="";Zähle alle unten stehenden nichtleeren Zeilen bis zur nächsten leeren Zeile;'Tabelle2'!A2)
Gruß
Martin
Aber sicher doch...
Boris
Hi...
...das funktioniert. In B2 eintragen und runterkopieren (ARRAY-Formel!!!).
Wenn du die Anzeige nur in der jeweils letzten leeren Zeile haben möchtest, dann in B2 und runterkopieren (auch ARRAY-Formel):
{=WENN(UND(A2="";A3"");VERGLEICH(WAHR;ISTLEER(A3:A$1000);0)-1;"")}
Grüße Boris
Anzeige
{=MIN(WENN(A1:A$100="";ZEILE(A1:A$100)-ZEILE()))}
IngoG
Hallo Horst,
was hälst Du von obiger Formel?
Du mußt Die Formel in b1 eingeben und nach unten kopieren.
Es ist eine Matrixformel, Du mußt die Eingabe also mit Strg-Shift-Enter abschließen
Und nat die geschweiften Klammern nicht mit eingeben ;-)
Gruß Ingo
PS eine Rückmeldung wäre nett...
Funzt super! Doch wie Matrixformel in normale?
05.11.2004 13:09:24
Horst
Hi Ingo,
super und vielen Dank für die Hilfe! Jetzt möchte ich diese Formel aber in einer normale =wenn-Formel einbauen. Kann man eine Matrixformel in eine andere einbauen, oder funzt das mit den geschweiften klammern nicht?
Danke und Gruß
Horst
AW: Es wäre schön....
05.11.2004 13:35:24
HermannZ
Hallo Ingo.
Es wäre schön wenn der Fragende nicht scheibschenweise ein Problem zu lösen versucht sondern direkt eine konkrete Frage stellt und man weis was gefordert ist.
so aber wird ständig an einer Teillösung gearbeitet die unter Umständen im Endergebniss
garnicht gebraucht wird.
zu dr frage:
hierzu solltest du bekanntgeben für was die Formel denn im Endergebniss machen soll.
Gruß hermann
Anzeige
vba-lösung
Reinhard
Hi Horst,
Alt+F11, Einfügen---Modul dort den nachstehenden Code eingeben, Editor schliessen.
Benutzung wie normale Funktionen in Excel,
also in A2 und A7 eungeben:
=tt()
Wenn es nicht funktioniert, liegt es an der Excel-version, bei XL2000 liefs.
Gruß
Reinhard

Function tt() As Long
tt = 1
While Range(Application.Caller.Address).Offset(tt, 0).Value <> ""
tt = tt + 1
Wend
tt = tt - 1
End Function

Super! Leichte Veränderung möglich?
05.11.2004 13:30:19
Horst
Hi Reinhard,
das Ding ist ja echt kurz und schmerzlos und dennoch klasse, vielen Dank!
Kann man die Formel noch so abändern, dass automatisch auch gleich die Zwischensummen der darunterliegenden nichtleeren Zellen gebildet wird. Also, wenn Deine Formel 3 ergibt, sollen gleich diese 3 Zeilen aufaddiert werden und statt der 3 gleich die errechnete Summe ausgewiesen werden. Wie muss ich die Formel abändern, wenn meine Werte nicht in Spalte A, sondern D stehen?
Wäre klasse, wenn ich die Geschichte noch vor dem WE abschliessen könnte!
Vorab herzlichen Dank und viele Grüße
Horst
Anzeige
AW: Super! Leichte Veränderung möglich?
Reinhard
Hi Horst,
ja das geht, ist egal ob A oder D bei dieser Funktion.

Function tt() As Long
Dim n As Long
n = 1
While Range(Application.Caller.Address).Offset(n, 0).Value <> ""
tt = tt + Range(Application.Caller.Address).Offset(n, 0).Value
n = n + 1
Wend
End Function
Gruß
Reinhard

SUUUPER! VIELEN DANK REINHARD! o.T.
05.11.2004 13:51:05
Horst

328 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige