Feldnummern in Formeln aus einem anderen Feld lesen

Gibt es eine Möglichkeit, Feldnummern in Formeln aus einem anderen Feld zu beziehen?

Ich zähle in einer Tabelle die Anzahl der Zeilen, in denen eine bestimmte Spalte leer ist:

=ZÄHLENWENN($anderetabelle.$A$1:$anderetabelle.$A$3213;"")

Die Anzahl der bestückten Zeilen in meiner anderen Tabelle wird laufend länger. Immer, wenn sie sich ändert, dann muss ich obige Formel anpassen (das betrifft mehrere Formeln an verschiedenen Stellen). In der obigen Formel muss die Länge der betrachteten Zeilen aber exakt sein, denn in allen Folgezeilen ist die Spalte natürlich leer, da ja da noch gar keine Werte drin stehen.

Statt die Formel zu ändern dachte ich, ich könnte einfach die aktuelle höchste Zeilenzahl in ein Feld (notfalls per Hand) eintragen, und dann von allen anderen Formeln auf dieses Feld referenzieren. Würde ich z.B. in B1 die Zahl 3213 schreiben, dann würde ich sowas in die Formel schreiben:

=ZÄHLENWENN($anderetabelle.$A$1:$anderetabelle.$A$(B1&);"")

Das geht so syntaktisch aber nicht. Gibt es hierfür eine Möglichkeit?

Hallo,

welchen Grund gibt es dafür, dass Du die leeren Zellen und nicht die befüllten Zellen zählst?

Zahlen zählen:
=Anzahl([Zellbreich])

Textinhalte zählen:
=Anzahl2([Zellbreich])

Zeilenzähler:
=Zeile()

Es können unterschiedliche Werte vorkommen, und ich zähle letzten Endes, wie oft A vorkommt, wie oft B vorkommt, und wie oft vorkommt, dass kein Wert vorhanden ist.

Ich könnte mir natürlich umgekehrt überlegen, dass Anzahl Zeilen minus Summe gezählter Werte die Anzahl der leeren Werte ergibt (müsste ich mal durchdenken, ob das das Problem löst). Ich fand es ursprünglich nur naheliegender, positiv zu zählen.

Aber mich interessiert abseits des konkreten Problems auch, ob eben die Möglichkeit besteht, Feldnummern so “zusammenzusetzen”. Könnte man ja auch an anderer Stelle brauchen.

Schau Dir mal INDIREKT() an.

1 Like

Das habe ich glaube ich vor einiger Zeit schon mal gemacht. Ist an sich interessant, aber wie kann ich das hier einbetten? So geht es nicht:

=ZÄHLENWENN($anderetabelle.$A$1:$anderetabelle.$A$(INDIREKT("B1");"")

http://www.oooforum.de/viewtopic.php?t=7802

In obiger Quelle findest Du neben der Verwendung von Indirekt auch noch Funktionen wie AnzahlLeererZellen() und die Ermittlung der letzten benutzten Zelle. (Eine User-defined-Funktion /Makro könnte da aber effektiver sein…)

Danke, das schaue ich mir mal in Ruhe an.

Sensationell, ich wollte gerade schreiben, dass ich die Lösung dennoch nicht hinbekommen habe, weil ich die Parameter bzw. den Bereich von ZÄHLEWENN nicht vernünftig zusammengesetzt bekomme. Aber dann bin ich auf diesen Beitrag gestoßen, der genau diesen Aspekt des Problems beschreibt: Bereich in einer Formel dynamisch definieren

Die Lösung für mein o.g. Problem lautet also:

=ZÄHLENWENN(INDIREKT("$anderetabelle.$A$1:$anderetabelle.$A$" & B1;"")

Mir war vorher nicht klar, dass ich mit INDIREKT nicht nur eine einzelne Zelle, sondern auch einen Bereich referenzieren kann.