Werte ignorieren bei modus.einf
#1
Hi allerseits,
ich komme gerade an einem Punkt nicht weiter mit der Datenaufbereitung für meine Masterarbeit. Es geht um das Abstimmungsverhalten von Abgeordneten. Nehmen wir einmal an, ich habe folgende Matrix:
 
Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDE
1NameIDAbstimmung 1Abstimmung 2Abstimmung 3
2Petra1800121
3Hans1800551
4Joachim1800544
5Martin1801242
6Gabi1801242
7Manuela1801121
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

In Spalte A steht jeweils der Name eines Abgeordneten, in Spalte B die ID einer Partei, Spalte C – E sind die verschiedenen Arten, wie die Abgeordneten abgestimmt haben. 1 steht hierbei für Ja, 2 = Nein, 3 = Enthaltung, 4 = Abgeordneter war nicht anwesend und 5 = war zu dem Zeitpunkt kein Abgeordneter. Jetzt interessiert mich, wie eine Partei mehrheitlich abgestimmt hat bei den einzelnen Abstimmungen. Über modus.einf als Arrayformel lässt sich dies ja recht einfach herausfinden. Allerdings möchte ich hierfür nur wirklich abgebende Stimmen miteinbeziehen, also Werte, die größer sind als 3 ignorieren und dies bekomme ich momentan leider nicht hin. Am Ende schwebt mir eine Matrix wie die folgende vor:

Arbeitsblatt mit dem Namen 'Tabelle1'
BCDE
9IDAbstimmung 1Abstimmung 2Abstimmung 3
101800121
111801222
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
 
Kennt ihr eine Lösung, wie ich das hinbekommen könnte?

Schon einmal im Vorraus vielen herzlichen Dank für eure Hilfe!
Top
#2
Hallo Arne,

mal als Ansatz: Formel für Zelle B10

Code:
=SUMMENPRODUKT(($B$2:$B$7=$A10)*(C$2:C$7<=3))

Formel nach unten und rechts ziehen.
Gruß Stefan
Win 10 / Office 2016
Top
#3
Lieber Stefan,

vielen Dank schon mal für deine Antwort. Leider führt der Weg nicht ganz zum Erfolg.

Mit der Formel bekomme folgende Ergebnisse:

Arbeitsblatt mit dem Namen 'Tabelle1'
BCDE
9IDAbstimmung 1Abstimmung 2Abstimmung 3
101800112
111801313

ZelleFormel
C10=SUMMENPRODUKT(($B$2:$B$7=$B10)*(C$2:C$7<=3))
D10=SUMMENPRODUKT(($B$2:$B$7=$B10)*(D$2:D$7<=3))
E10=SUMMENPRODUKT(($B$2:$B$7=$B10)*(E$2:E$7<=3))
C11=SUMMENPRODUKT(($B$2:$B$7=$B11)*(C$2:C$7<=3))
D11=SUMMENPRODUKT(($B$2:$B$7=$B11)*(D$2:D$7<=3))
E11=SUMMENPRODUKT(($B$2:$B$7=$B11)*(E$2:E$7<=3))
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Top
#4
Hi,

oder über eine PivotTable:

ID in den Zeilenbereich und Abstimmungen in den Zeilen- und den Wertebereich
die zu ignorierenden können ausgeblendet werden.
Top
#5
Hallo Arne,

(06.03.2018, 18:55)Arne schrieb: Leider führt der Weg nicht ganz zum Erfolg.

wenn ich mir aber deine Datenquelle betrachte, müssten die Ergebnisse aber passen.
Gruß Stefan
Win 10 / Office 2016
Top
#6
Hallo Arne,

unten stehend meine Lösungsformel für Dein Beispieldatensatz.

Mit modus.einf kann man diese so nicht lösen, weil hier Teilergebnisse kleiner als 2 ermittelt werden müssen. Dies wird zwar in Deinem Originaldatensatz mit großer Wahrscheinlichkeit nicht der Fall sein, dann kann man modus.einf einsetzen. Dann wird die Lösung auch einfacher als meine folgende Formellösung.

Unabhängig von dieser, solltest Du jedoch Deine Datenerfassung in einer "intelligenten" Tabelle vornehmen. In eine solche kannst Du auch für Deine vorhandene Daten durch die Funktion: "Als Tabelle formatieren" umwandeln. Dann kannst  Du bei den zu definierenden Bereichsdefinitionen in der Formel mit den "Feldnamen" dieser Tabelle, die dann durch die Überschriften (also "ID"; "Abstimmung 1" ... ) vordefiniert sind arbeiten anstelle wie in meiner Formel nur mit "fixen" Zelladressdaten.Die Vorteil dessen ist, dass bei Datensatzergänzung die Formel automatisch die neuen Datensätze ohne Formelanpassung berücksichtigt.

Hier für Deine Beispieldaten (ohne "intelligente" Tabelle). Nachfolgende Formel einfach nach rechts und unten kopieren:

ABCDE
1NameIDAbstimmung 1Abstimmung 2Abstimmung 3
2Petra1800121
3Hans1800531
4Joachim1800544
5Martin1801242
6Gabi1801242
7Manuela1801321
8
9IDAbstimmung 1Abstimmung 2Abstimmung 3
101800121
111801222
12
Formeln der Tabelle
ZelleFormel
C10=VERGLEICH(MAX(INDEX(HÄUFIGKEIT(C$2:C$7*(C$2:C$7<4)*($B$2:$B$7=$B10);{0.1.2})*{0;1;1;1};));INDEX(HÄUFIGKEIT(C$2:C$7*(C$2:C$7<4)*($B$2:$B$7=$B10);{0.1.2})*{0;1;1;1};);0)-1

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...
Top
#7
Lieber Werner,

vielen herzlichen Dank! Deine Lösung ist genau das, was ich gesucht habe :)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste