Clever-Excel-Forum

Normale Version: Formelparameter "BEREICH" dynamisch erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo zusammen,

ich habe eine grundlegende Frage zum "BEREICH"-Parameter diverser Formeln.

Nehmen wir als Beispiel die Formel:
Code:
=ZÄHLENWENN(BEREICH;SUCHKRITERIUM)

Ich möchte erreichen (falls überhaupt möglich), dass dieser BEREICH direkt im Formelaufruf dynamisch erzeugt wird.

Man kann ja auf einfachste Art mit den geschweiften Klammern einen Bereich definieren, so zum Beispiel einen Bereich mit 4 Zeilen und einer Spalte mit vorbelegten Werten:
Code:
={Zeilenwert1;Zeilenwert2;Zeilenwert3;Zeilenwert4}

Wie schaffe ich es nun, das in die ZÄHLENWENN-Funktion zu integrieren, sodass er aus diesem Bereich sucht? Quasi:
Code:
=ZÄHLENWENN({"Apfel";"Birne";"Kirsche";"Zwetschge"};"Kirsche")

Ist so etwas möglich? Ich habe mir schon die Funktion MATRIXERSTELLEN() angesehen, aber ich werde nicht schlau daraus, wie ich eine LAMBDA-Funktion erstelle, die einfach definierte Textwerte in die erzeugte Matrix schreibt...

Vielen Dank vorab für eure Rückmeldung!
Binary91
Hallöchen,

ZÄHLENWENN geht nur in einem kontinuierlichen Bereich.
Du musst so mehrere ZÄHLENWENN zusammenrechnen.
Hallo,

danke für die Rückmeldung.

Aber der dynamisch generierte "Bereich" wäre ja kontinuierlich, in obigem Beispiel ein kontinuierlicher Bereich mit einer Spalte und 4 Zeilen...
Hallo,

mit SUMMENPRODUKT geht es vielleicht:

Code:
=SUMMENPRODUKT(({"Anton"."Berta"."Carla"."Anton"."Berta"."Caesar"."Bonus"."Anton"}="Anton")*1)


ergibt 3

Allerdings ist mir das Ganze zu schwammig. Vielleicht zeigst Du mal konkret, was Du willst.
Hallöchen,

also den zusammenhängenden Bereich würdest Du mit Apfel:Zwetschge angeben.

Wenn ein Bereich unbekannt ist kannst Du auch INDEX zur Bereichsbildung nehmen, z.B. so. Die Einträge aus C1 und C2 kannst Du natürlich auch direkt in die Formel einbauen. Ich hab mal nur die Einträge gezählt, Du kannst natürlich auch zählen, ob der Willi dazwischen ist oder was auch immer ..

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCD
1OttoKar4
2KarWal
3Willi
4Bald
5Wal
6Traut

ZelleFormel
D1=ZÄHLENWENN(INDEX(A1:A10;VERGLEICH(C1;A1:A10;0)):INDEX(A1:A10;VERGLEICH(C2;A1:A10;0));"<>")
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 365
Diese Tabelle wurde mit Tab2Html (v2.7.2) erstellt. ©Gerd alias Bamberg
Hallo,

vielen Dank für eure Antworten und sorry für die verspätete Rückmeldung.

Das Problem ist, dass die Werte, aus denen ich eine "Matrix" für eine Suchfunktion bilden möchte, nicht in nebeneinander liegenden Zellen liegen und somit ein Bezug wie "A1:A10" nicht funktioniert.

Ich schildere mal konkret, warum:
Angenommen, ich bastele an einem Bilanzprogramm und pro Datensatz kann ich auswählen, ob es eine Aktiva- oder ein Passiva-Buchung geht. Je nach Typ gibt es noch verschiedene Subtypen (ich kann die nicht einfach untereinander in zusammenhängende Listen packen, da es noch viel mehr von diesen Einzelfällen gibt und ich nicht für alles eine separate Liste erstellen möchte).

Meine internen Kalkulatoren sollen nun den gewählten Subtyp einer der beiden Typen zuordnen und anstatt eine unschöne WENN(UND(A<>B;A<>C;....;A<>X);..;..) zu verwenden dachte ich, ich könne eine Art "Matrix" selbst generieren und als Parameter einer ZÄHLENWENN()-Funktion übergeben. Ich fand das einfach elegant und die Tatsache, dass man so eine Matrix ja mit geschweiften Klammern erstellen und per automatischem Überlauf in die Exceltabelle eintragen lassen kann dachte ich, das ginge auch irgendwie innerhalb eines Funktionsaufrufes.

Aber egal, ich werde es wie oben geschildert lösen.

Vielen Dank für eure Hilfe.

LG Binary91

(05.02.2023, 14:50)BoskoBiati schrieb: [ -> ]Hallo,

mit SUMMENPRODUKT geht es vielleicht:

Code:
=SUMMENPRODUKT(({"Anton"."Berta"."Carla"."Anton"."Berta"."Caesar"."Bonus"."Anton"}="Anton")*1)


ergibt 3

Allerdings ist mir das Ganze zu schwammig. Vielleicht zeigst Du mal konkret, was Du willst.
Ah, habe das ganz übersehen. Ja genau so hatte ich mir das vorgestellt! Werde das gleich morgen einmal testen Smile

Merci!
(05.02.2023, 14:50)BoskoBiati schrieb: [ -> ]Hallo,

mit SUMMENPRODUKT geht es vielleicht:

Code:
=SUMMENPRODUKT(({"Anton"."Berta"."Carla"."Anton"."Berta"."Caesar"."Bonus"."Anton"}="Anton")*1)


ergibt 3

Allerdings ist mir das Ganze zu schwammig. Vielleicht zeigst Du mal konkret, was Du willst.
Also bei mir funktioniert das nicht, es erscheint beim Bestätigen der Formel nach dem Tippen durch Drücken der ENTER-Taste die Fehlermeldung, dass das nicht als Formel erkannt wird... genau wie bei ZÄHLENWENN()... Wie konntest Du das Beispiel denn abtippen?
Hi,

abtippen? KOPIEREN u. Einfügen.
(10.02.2023, 11:08)BoskoBiati schrieb: [ -> ]Hi,

abtippen? KOPIEREN u. Einfügen.

Selbstverständlich hatte ich das kopiert... Nutzt Du Excel 365? Muss ich beim Bestätigen irgendetwas beachten? Ich habe es sowohl mit ENTER als auch mit STRG+SHIFT+ENTER versucht, er lässt es nicht zu. Hier die Fehlermeldung im Anhang..
Hi,

Zitat:Nutzt Du Excel 365?
ja.

Habe die Formel aus Deinem Beitrag kopiert und in eine Tabelle eingefügt, keine Probleme.

Zeige mal Deine Tabelle.
Seiten: 1 2 3