HERBERS Excel-Forum - das Archiv
Vergleich innerhalb einer matrix
Steve

Guten Morgen zusammen.
Ich habe eine Matrix aus 31 Elementen.
0.0.0.0.1.1.1.0.0.0.1.1.1.0.0.usw.
Kann ich von Excel berechnen lassen, wie oft sich das 1.1.1. wiederholt?

AW: Vergleich innerhalb einer matrix
Matthias

Hallo
Hier mal (m)ein Versuch
Tabelle1

 ABC
1KomplettSuchstringErgebnis
20.0.0.0.1.1.1.0.0.0.1.1.1.0.0.1.1.1.1.1.1.3

Formeln der Tabelle
ZelleFormel
C2=(LÄNGE(A2)-LÄNGE(WECHSELN(A2;B2;"")))/LÄNGE(B2)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
aber nur mal kurz getestet!
Gruß Matthias
AW: nachgefragt ...
neopa

Hallo Steve,
... wie liegen Deine Elemente vor? Jedes in einer Zelle oder Deine "Matrix" so wie es Matthias angenommen hat? Für Dein Beispiel ist das Ergebnis natürlich 2. Doch welches Ergebnis erwartest Du für: 0.0.0.1.1.1.1.0.0.0.1.1.1.0.0.usw.?
Gruß Werner
.. , - ...
AW: nachgefragt ...
Steve

Also ich fülle die Matrix mit einer Formel, die innerhalb eines Monats die Anwesenheit am Wochenende prüft. Also die Konstellationen für die 1en sind
1.0.1 / 1.1.0 / 0.1.1./ 0.0.1./ 1.1.1.
Ich hätte nur die Anzahl der 1.1.1. gewollt.
Der erste Teil der Matrixformel:
=(WOCHENTAG(L2:AP2;2)>4)*((LINKS(L9:AP9;1)="U")+...
Das ganze wiederholt sich 4x nur mit anderen Bedingungen
AW: ist so (für mich) noch nicht eindeutig ...
neopa

Hallo Steve,
... stell doch mal (D)eine (Beispiel)datei hier ei und erkläre daran Deine Zielstellung. Ich schau es mir dann morgen an.
Gruß Werner
.. , - ...
AW: ist so (für mich) noch nicht eindeutig ...
Steve

Is schwierig. Wird wahrscheinlich erst morgen Nachmittag
AW: dann bis morgen Abend owT
neopa

Gruß Werner
.. , - ...
AW: ist so (für mich) noch nicht eindeutig ...
Steve

Hab es doch eher geschafft
https://www.herber.de/bbs/user/131907.xlsx
Hab auch n bisschen was dazu geschrieben
für mich eindeutig ... Ignorant :-(
Matthias
AW: für mich eindeutig ... Ignorant :-(
Steve

Guten Morgen Matthias. Ich habe dich nicht ignoriert.
Dein Ansatz ist gut, bringt mich aber nicht weiter. Ich habe keine Zellen mit den einzelnen 0en und 1en. Sondern berechne die Matrix mit der summenprodukt funktion.
Textverketten und Länge sind keine matrixformeln. Die nehmen nur den ersten Wert aus der Matrix.
Witzbold ...
Matthias

Zitat
Ich habe dich nicht ignoriert.

3x Werner geantwortet. Mir nicht 1x
Also hast Du mich ignoriert.


Zitat
Ich habe keine Zellen mit den einzelnen 0en und 1en

Deine Datei!
Tabelle1


 IJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKAL
19000000000000000001110000111000
20000000000000000000000000111000
21000111000000000000000000000000
22000111000011100000000000000000
23000000000011100001110000000000


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8


Textverketten und Länge sind keine matrixformeln
Hab ich auch nicht behauptet!
AW: Witzbold ...
Steve

Aufgrund eurer ersten beiden Beiträge bin ich davon ausgegangen, dass ihr mich nicht richtig verstanden habt. Sry, dass ich nur einem von euch geantwortet habe.
Die 0en und 1en waren nur als Beispiel gedacht um mein Anliegen zu verdeutlichen. Sie kommen in der eigentlichen Tabelle nicht vor, deshalb habe ich ja die summenprodukt formel
AW: nun etwas klarer, wobei ...
neopa

Hallo Steve,
... nicht nachvollziehbar ist, weshalb Du in Deinen SUMMENPRODUKT()-Formeln Vergleiche mit "916" und "X" eingebaut hast, da solche zumindest in Deinem Beispiel nicht vorkommen können. Nachfolgend hab ich dies deshalb einfach ignoriert.
Auch müsste die Auswertung nicht nur bis Spalte AL sondern bis AT vorgenommen werden, weil es ja auch Monate mit 31 Tagen gibt. Etwas unklar ist mir noch, ob Deine Auswertung immer nur genau die Tage des jeweils aktuellen Monats betrachten soll. Denn manche Wochenenden sind ja monatsübergreifend, wie z.B. 30.8.19 bis 01.09.19. Aber bei derartigen Datenstruktur ist deren Berücksichtung nicht möglich.
Unter vorgenannten Bedingungen lässt sich die angestrebte Auswertung wesentlich vereinfachen.
Zunächst kann die Hilfszeile 9 gelöscht werden. Die Schichtdaten verschieben sich somit von Zeile 10 nach 9 und es ist für I4:AT8 auch lediglich nur noch eine Formel und auch ohne BEREICH.VERSCHIEBEN() nötig.
In I4: =INDEX($9:$9;SPALTE()+37-ZEILE(A1)*7+REST($A$1-"3.12.98";35)) und Formel nach rechts und unten ziehend kopieren
Die Anzahl der freien Wochenenden könnte dann mE ohne jegliche weitere Hilfszellen wie folgt berechnet werden. Teste mal:
In AU4: =KÜRZEN(SUMMENPRODUKT((REST(I$1:AT$1+1;7)<3)*(I4:AT4="-"))/3;)
und nach unten kopieren.
Gruß Werner
.. , - ...
AW: nun etwas klarer, wobei ...
Steve

Also Werner,
die indexfunktion funktioniert super. Danke erstmal dafür.
Zu meinem eigentlichen Problem:
Als Wochenende soll zählen z.B.
Fr X X X -
Sa F U U -
So S 916 916 -
I4:AL8 (grüner Bereich) ist Soll-Arbeitzeit
I11:AL11 ist Ist-Arbeitzeit
Vllt kann man da mit Index und Vergleich arbeiten. Hab da aber keinerlei Erfahrungen mit.
Danke für deine Mühen
AW: nun etwas klarer, wobei ...
Steve

Nachtrag: dein Einwand mit dem monatsübergreifdnden Wochenende ist gut. Hab ich so noch nicht betrachtet.
Ich hab in der Originaltabelle eine Jahresübersicht. Wäre damit eine solche Betrachtung möglich?
AW: hierzu nachgefragt ...
neopa

Hallo Steve,
... welche Ergebniswerte willst Du auswerten? Wenn Du dies monatsweise ermitteln willst, reicht es wenn Du zwei Tage vor und nach dem Monat in die Übersicht mit aufnimmst. Dann musst Du nur noch klären, welches monatsübergreifendes WE denn im jeweiligen Monat noch mit gewertet werden soll bzw. welche nicht. Diese müsstest Du klar definieren, denn da gäbe es verschiedene Interpretationsmöglichkeiten.
Bei eine Jahresübersicht müsstest Du übrigens auch jeweils zwei Tage vor und nach dem Jahr mit aufnehmen und ebenso klar die Bedingungen definieren.
Gruß Werner
.. , - ...
AW: so teilweise nicht nachvollziehbar ...
neopa

Hallo Steve,
... Deine neuen Angaben was als Wochenende zählen soll, stimmt mit Deinen bisherigen Angaben und auch Deiner Beispieldatei nicht überein und ist auch nicht verständlich.
Wenn Deine IST-Arbeitszeitdaten in I4:AT8 stehen und diese auszuwerten sind, könntest Du meine Formelvorschlag für AU4 einfach nach AU11:AU15 kopieren, welche die "freien" WE auswertet.
Für eine andere angestrebte Auswertung, stell eine neue Beispieldatei ein und gibt dafür das Zielergebnis vor.
Gruß Werner
.. , - ...
hoffe jetzt ist es klarer
Steve

hab jetzt nochmal meine test-datei umgebaut und hoffe, dass du jetzt nachvollziehen kannst, was ich eigentlich möchte.
Tut mir leid, wenn ich mich so umständlich ausgedrückt habe.
https://www.herber.de/bbs/user/131936.xlsx
für die Jahresübersicht kopiere ich per vba die einzelnen Monatszeilen jedes Mitarbeiters untereinander.
habe mir jetzt nach Matthias seinem Vorbild in der Jahresübericht extra-zeilen mit 0en und 1en gemacht und die verkettet und dann mit Länge errechnet. das ist aber sehr aufwändig und geht bestimmt auch eleganter.
Danke dir Werner
AW: ja, jedoch mE noch nicht eindeutig ...
neopa

Hallo Steve,
... denn welche 3er Kombinationen können alle zum "freien WE" führen? Die solltest Du mal listen. Z.B. kann es die 916 auch an einem Freitag geben? ...
Unlogisch erscheint mir, warum ausgerechnet ein "S" (sicher Spätschicht) am Freitag auch zu einem solchen führen soll, während eine Normalschicht dieses ausschließt. Für ein "F" am Freitag ist es für mich nachvollziehbar, dass dies zu einem freien WE führen kann.
Gruß Werner
.. , - ...
AW: ja, jedoch mE noch nicht eindeutig ...
Steve

F - Frühschicht
S - Spätschicht
N - Nachtschicht
Sa und So müssen "916"/"-"/"x"/U in allen möglichen Kombinationen und zusätzlich darf
am Freitag nur F oder S sein. dann soll es als WE zählen.
AW: ja, jedoch mE noch nicht eindeutig ...
Steve

F - Frühschicht
S - Spätschicht
N - Nachtschicht
Sa und So müssen "916"/"-"/"x"/U in allen möglichen Kombinationen und zusätzlich darf
am Freitag nur F oder S sein. dann soll es als WE zählen.
AW: ja, jedoch mE noch nicht eindeutig ...
Steve

Sorry für den doppelpost. Is wohl beim aktualisieren passiert.
Zum näherem Verständnis 916,-,x und u sind alles Kürzel für frei.
AW: dann mit ner Matrixfunktion(alität)sformel ...
neopa

Hallo Steve,
... für Deine Beispiel (welches Du nicht erweitert hast, um die 2 Tage vor und 2 Tage nach dem jeweiligen Monat) mit folgender Formel ohne Hilfszellen, in AO4:
=SUMMENPRODUKT(N((REST(I$1:AJ$1;7)=6)*(LINKS(I11:AJ11;1)<>"N")*
MMULT({1.1.1};(REST(J$1:AK$1;7)=0)*ISTFEHL(SUCHEN({"F";"N";"S"};J11:AK11))*
(REST(K$1:AL$1;7)=1)*ISTFEHL(SUCHEN({"F";"N";"S"};K11:AL11)))=3))

und nach unten kopieren.
Warum für Freitage "S" mit eingehen soll (und mit meiner jetzigen Formel auch berücksichtigt wird), erschließt sich mir noch immer nicht, hast Du mir auch noch nicht beantwortet
Gruß Werner
.. , - ...
AW: dann mit ner Matrixfunktion(alität)sformel ...
Steve

Hi Werner. Funktioniert super. Ich danke dir dafür.
Da die Spätschicht bis 22 Uhr geht darf sie am Freitag mit zum Wochenende gezählt werden.
Nur eben die Nachtschicht nicht, weil diese in den samstag hinein geht.
Ergo Wochenende = Freitags alles außer N und Samstag und Sonntag frei(916,-,u,x).
Die beiden Tage vor und nach jedem Monat hab ich nicht erweitert, weil ich das auch im Nachhinein noch nachholen kann. Das ändert an sich ja an der Formel nichts.
Steve
AW: bitteschön; nun ist mir auch verständlich ...
neopa

Hallo Steve,
... warum Du "N" am Freitag sushslten wolltest. Ich hatte das "N" als "Normalschicht" und nicht als "Nachtschicht" angesehen.
Gruß Werner
.. , - ...