Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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!
Antworten 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
Antworten 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
Antworten 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.
Antworten Top
#5
Hallo Arne,

(06.03.2018, 17: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
Antworten 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
.. , - ...
Antworten Top
#7
Lieber Werner,

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


Gehe zu:


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