Microsoft Excel

Herbers Excel/VBA-Archiv

Vergleich innerhalb einer matrix


Betrifft: Vergleich innerhalb einer matrix von: Steve
Geschrieben am: 07.09.2019 04:16:09

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?

  

Betrifft: AW: Vergleich innerhalb einer matrix von: Matthias L
Geschrieben am: 07.09.2019 06:39:33

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


  

Betrifft: AW: nachgefragt ... von: neopa C
Geschrieben am: 07.09.2019 10:27:48

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
.. , - ...


  

Betrifft: AW: nachgefragt ... von: Steve
Geschrieben am: 07.09.2019 14:10:18

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


  

Betrifft: AW: ist so (für mich) noch nicht eindeutig ... von: neopa C
Geschrieben am: 07.09.2019 17:48:42

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
.. , - ...


  

Betrifft: AW: ist so (für mich) noch nicht eindeutig ... von: Steve
Geschrieben am: 07.09.2019 18:15:42

Is schwierig. Wird wahrscheinlich erst morgen Nachmittag


  

Betrifft: AW: dann bis morgen Abend owT von: neopa C
Geschrieben am: 07.09.2019 18:19:12

Gruß Werner
.. , - ...


  

Betrifft: AW: ist so (für mich) noch nicht eindeutig ... von: Steve
Geschrieben am: 07.09.2019 22:42:41

Hab es doch eher geschafft
https://www.herber.de/bbs/user/131907.xlsx
Hab auch n bisschen was dazu geschrieben


  

Betrifft: für mich eindeutig ... Ignorant :-( von: Matthias L
Geschrieben am: 08.09.2019 01:14:49

https://www.herber.de/bbs/user/131909.xlsx


  

Betrifft: AW: für mich eindeutig ... Ignorant :-( von: Steve
Geschrieben am: 08.09.2019 02:29:58

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.


  

Betrifft: Witzbold ... von: Matthias L
Geschrieben am: 08.09.2019 06:05:17

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!


  

Betrifft: AW: Witzbold ... von: Steve
Geschrieben am: 08.09.2019 06:20:00

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


  

Betrifft: AW: nun etwas klarer, wobei ... von: neopa C
Geschrieben am: 08.09.2019 10:03:48

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
.. , - ...


  

Betrifft: AW: nun etwas klarer, wobei ... von: Steve
Geschrieben am: 08.09.2019 23:21:41

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


  

Betrifft: AW: nun etwas klarer, wobei ... von: Steve
Geschrieben am: 09.09.2019 01:37:02

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?


  

Betrifft: AW: hierzu nachgefragt ... von: neopa C
Geschrieben am: 09.09.2019 09:43:35

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
.. , - ...


  

Betrifft: AW: so teilweise nicht nachvollziehbar ... von: neopa C
Geschrieben am: 09.09.2019 09:34:30

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
.. , - ...


  

Betrifft: hoffe jetzt ist es klarer von: Steve
Geschrieben am: 09.09.2019 18:40:59

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


  

Betrifft: AW: ja, jedoch mE noch nicht eindeutig ... von: neopa C
Geschrieben am: 09.09.2019 19:03:01

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
.. , - ...


  

Betrifft: AW: ja, jedoch mE noch nicht eindeutig ... von: Steve
Geschrieben am: 09.09.2019 19:22:54

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.


  

Betrifft: AW: ja, jedoch mE noch nicht eindeutig ... von: Steve
Geschrieben am: 09.09.2019 20:00:41

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.


  

Betrifft: AW: ja, jedoch mE noch nicht eindeutig ... von: Steve
Geschrieben am: 09.09.2019 22:20:19

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.


  

Betrifft: AW: dann mit ner Matrixfunktion(alität)sformel ... von: neopa C
Geschrieben am: 10.09.2019 09:48:18

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
.. , - ...


  

Betrifft: AW: dann mit ner Matrixfunktion(alität)sformel ... von: Steve
Geschrieben am: 10.09.2019 14:12:37

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


  

Betrifft: AW: bitteschön; nun ist mir auch verständlich ... von: neopa C
Geschrieben am: 10.09.2019 14:30:52

Hallo Steve,

... warum Du "N" am Freitag sushslten wolltest. Ich hatte das "N" als "Normalschicht" und nicht als "Nachtschicht" angesehen.

Gruß Werner
.. , - ...


Beiträge aus dem Excel-Forum zum Thema "Vergleich innerhalb einer matrix"