Modalwert-Ergebnis unter Bedingungen unterschiedlich ausgeben
#1
Guten Tag liebe Excel-Erfahrene,

Es gibt eine Spalte mit 35 Zeilen länge in dem in jeder 5. Zeile eventuell ein Name steht (Zwischendrin würden Zahlen stehen aber da ich nun Hilfsspalten verwende hab ich das Problem nun nicht mehr, dass eine Zahl der Häufigste Wert sein könnte - also Fokus auf die Namen). 
Ich möchte den Häufigsten Namen wiedergeben, jedoch 
-wenn es mehrere Namen gibt, hinter dem Häufigsten ein " +" versehen 
-falls es mehrere häufigste Namen gibt, den ersten häufigsten nehmen und ebenfalls ein Plus dahinter
-bei nur einem Namen, den Fehler ausschließen durch eben diesen Namen
-bei keinem Namen "leer"

Im Anhang ein Beispiel zum verdeutlichen

Die Häufigsten Werte bekomme ich bereits mit dieser Formel:
{=INDEX(W2:W36;MODALWERT(WENN(W2:W36<>"";VERGLEICH(W2:W36;W2:W36;0))))}

Das war meine letzte Lösung doch komm ich nicht mein gewünschtes Ergebnis, dass bei mehreren Namen hinter dem Häufigsten ein + dahinter steht:
{=WENNFEHLER(WENN(UND(W2=W7;W7=W12;W12=W17;W17=W22;W22=W27;W27=W32;ODER(UND(W2="";W7="";W12="";W17="";W22="";W27="";W32="")))=WAHR;INDEX(W2:W36;MODALWERT(WENN(W2:W36<>"";VERGLEICH(W2:W36;W2:W36;0))));WENN(UND(W2="";W7="";W12="";W17="";W22="";W27="";W32="")=WAHR;"";WENN(UND(W2="";W7="";W12="";W17="";W22="";W27="")=WAHR;W32;WENN(UND(W2="";W7="";W12="";W17="";W22="")=WAHR;W27;WENN(UND(W2="";W7="";W12="";W17="")=WAHR;W22;WENN(UND(W2="";W7="";W12="")=WAHR;W17;WENN(UND(W2="";W7="")=WAHR;W12;WENN(W2="";W7;(INDEX(W2:W36;MODALWERT(WENN(W2:W36<>"";VERGLEICH(W2:W36;W2:W36;0)))))))))))));"")}

Am Besten wäre es natürlich, wenn ich die Hilfszellen nicht bräuchte und einfach nur Werte die in Textform sind zähle für meine Häufigkeit.

Diese Formel wertet eine Kalenderwoche aus und deshalb werde ich sie nach unten ziehen müssen jedoch nach 5 Zeilen 30 Löschen und das 52 mal. Wenn es möglich ist, dass man beim ziehen immer den Bereich um 30 hochzählt, wäre das ein riesen Zeitersparnis aber erstmal nicht Priorität.

Falls alles nichts hilft, wäre noch die Überlegung, dass man alle Namen wiedergibt mit =Verketten() aber doppelte ausschließt. Nur weiß ich da auch nicht weiter. Das wäre die Schnellste Lösung (auch erstmal wünschenswert). Nur soll das eine Pivot am Ende geben und die verschiedenen Verkettungen laufen mir gegen den Strich.

Ich bin jetzt schon über jeden Hinweis/ jede Lösung dankbar. Bei Unklarheiten bitte auch kurz fragen.

Viele Grüße!
Top
#2
und hier noch der Anhang


Angehängte Dateien
.xlsx   Entwurf.xlsx (Größe: 12,08 KB / Downloads: 9)
Top
#3
Hallo,

ganz schlechter Listenaufbau. Wenn du das so machst, wie unten gezeigt, hast du alle Optionen für eine Auswertung die Excel so bietet.

Tabelle2

ABCDEFG
1DatumKWNamewert0Wert1Wert2Wert3
202.01.20171Tick7,5123
303.01.20171Tick7,5123
404.01.20171Trick7,5123
505.01.20171Track7,5123
606.01.20171Track7,5123
707.01.20171Track7,5123

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#4
(15.11.2017, 18:51)Klaus-Dieter schrieb: Hallo,

ganz schlechter Listenaufbau. Wenn du das so machst, wie unten gezeigt, hast du alle Optionen für eine Auswertung die Excel so bietet.

Das war die Vereinfachte Version. Die rote Spalte ist nicht die einzige. Es kommen noch 13 weitere nach rechts.
Außerdem war der Anspruch bei der Erfassung nicht zu verändern, da es alte eingefahre Leute sind die sich null mit dem PC auskennen und auch kaum Deutsch sprechen. Das ist die Ausgangstabelle mit die Fix gegeben ist.
Top
#5
Hallo,

OK, dann bin ich raus.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#6
Hey

Wunschergebnis ist zwar nicht 100% klar, aber du kannst es einmal damit Versuchen.
F2    =D2&" "&H2
G2    =WENN((D2="")+ISTZAHL(D2);"";ZÄHLENWENN($D$2:$D$36;D2))
H2    =WENN(KGRÖSSTE($G$2:$G$36;1)=1;"";WENN((G2=KGRÖSSTE($G$2:$G$36;1))*(ZÄHLENWENN($H$1:H1;" +")<1);" +";""))

und alle nach unten kopieren. Bei F natürlich nur in F7;F12 usw.
Top
#7
Hallo

Teste einmal folgende Array-Formel

Code:
{=WENNFEHLER(INDEX(D2:D36;MODALWERT(WENN(ISTTEXT(D2:D36);VERGLEICH(D2:D36;D2:D36;0))))&" +";WENNFEHLER(INDEX(D2:D36;VERGLEICH("*";D2:D36;0));""))}


Gruss Sepp
Top
#8
(15.11.2017, 19:45)Elex schrieb: Hey

Wunschergebnis ist zwar nicht 100% klar, aber du kannst es einmal damit Versuchen.
F2    =D2&" "&H2
G2    =WENN((D2="")+ISTZAHL(D2);"";ZÄHLENWENN($D$2:$D$36;D2))
H2    =WENN(KGRÖSSTE($G$2:$G$36;1)=1;"";WENN((G2=KGRÖSSTE($G$2:$G$36;1))*(ZÄHLENWENN($H$1:H1;" +")<1);" +";""))

und alle nach unten kopieren. Bei F natürlich nur in F7;F12 usw.

Leider nicht hilfreich, da es nicht gegeben ist, dass immer an einem Montag jemand da ist. Außerdem wird auch, bei gleichen Namen der Wert hochgezählt und somit, obwohl nur ein Mitarbeiter vor Ort gewesen ist, ein Plus angehängt.
Top
#9
(15.11.2017, 20:28)Josef B schrieb: Hallo

Teste einmal folgende Array-Formel

Code:
{=WENNFEHLER(INDEX(D2:D36;MODALWERT(WENN(ISTTEXT(D2:D36);VERGLEICH(D2:D36;D2:D36;0))))&" +";WENNFEHLER(INDEX(D2:D36;VERGLEICH("*";D2:D36;0));""))}


Gruss Sepp

Super, vielen Dank! Das löst mein Problem mit den Hilfsspalten und funktioniert, bis auf eine Kleinigkeit richtig gut. Angenommen 2 oder mehrere Mitarbeiter sind jeweils nur einmal in der Woche da, müsste der erste Einzelwert mit einem Plus gezogen werden. Aber damit kann ich Leben :)

Noch eine Kleinigkeit: Du hast vielleicht gesehen, dass ich beim Runterziehen nach 5 Spalten bereit in eine neue Kalenderwoche gehe, jedoch der Bereich nicht auch um diese Kalenderwoche (um weitere 30 Spalten) sich verschiebt. Ist es möglich den Zellbezug erweitert hochzählen zu lassen?
Top
#10
Hallo

Zitat:Angenommen 2 oder mehrere Mitarbeiter sind jeweils nur einmal in der Woche da, müsste der erste Einzelwert mit einem Plus gezogen werden. Aber damit kann ich Leben

Damit musst du nicht leben, wenn du mir klar beschreibst, was denn meine Formel in diesem Fall falsch macht, kann ich das korrigieren.
Ist es nur das fehlende "+" , oder sollte ein anderer Name dargestellt werden.

Ich hatte mich dazu an deine Vorgaben gehalten
Zitat:-bei nur einem Namen, den Fehler ausschließen durch eben diesen Namen

Eine nach unten kopierbare Formel ist auch möglich, aber zuerst sollte jedoch die bestehende Formel bereinigt werden.

Gruss Sepp
Top


Gehe zu:


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