Libre Office Calc Sequenzberechnung

Krombacher1

Cadet 4th Year
Registriert
Apr. 2022
Beiträge
103
Guten Abend,

Eine Frage für Experten in Libre Office. Ich suche eine spezielle Formel für die Berechnung der Sequenz von Zellen.
ich werde einen Screenshot posten und dann, dazu erklären was ich gerne wissen möchte.

von links nach rechts mit den "leeren Zellen" und mit den "1" Zellen. Ich möchte wissen welche Formel mir berechnet, wie oft maximal die eine Zelle z.b mit "1" in einer folge hintereinander vorkommt. Das Maximum an Sequenz in diesem Screenshot sind 4x"1" in Folge und somit wäre das Ergebniss was ich erwarte auch 4.


Vielen dank schonmal, auch wenn es nicht jeder wissen wird.
 

Anhänge

  • sequenz für computerbase.png
    sequenz für computerbase.png
    855 Bytes · Aufrufe: 223
spontan wuerde ich sagen, das geht nur mit einem VBA Makro - ich bin aber auch nicht der Excel Held, evtl. belehren mich andere eines besseren
 
  • Gefällt mir
Reaktionen: Krombacher1
So gehts mit der Funktion ZÄHLENWENN() in LibreOffice:

=ZÄHLENWENN(A1:J1;MIN(A1:J1))

Im Beispiel unten ist die Formel in Zelle K6, die Werte in A1:J1. In diesem Beispiel kommt die 1 am häufigsten vor, und zwar sechsmal.
Übrigens: MIN() durch MAX() ersetzen, und dann erhältst Du den Wert, der am wenigsten häufig (aber mindestens 1 mal) vorkommt.
 

Anhänge

  • LibreOfficeCB.png
    LibreOfficeCB.png
    5,9 KB · Aufrufe: 173
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Krombacher1
Die Aufgabenstellung ist aus meiner Sicht eine andere. Der Threadersteller sucht eine Möglichkeit um eine Abfolge von einer bestimmten Zahl zu zählen. In seinem Beispiel kam die 1 vier mal in Folge vor. Entsprechend muss die Funktion das Ergebnis 4 auswerfen. Das funktioniert mit einer COUNTA Formel aus meiner Sicht nicht. Wäre zwischen der Viererfolge eine Leerzelle, müsste das Ergebnis in dem Beispiel dann 3 betragen.
 
  • Gefällt mir
Reaktionen: Krombacher1
Ergänzung ()

SKu schrieb:
Die Aufgabenstellung ist aus meiner Sicht eine andere. Der Threadersteller sucht eine Möglichkeit um eine Abfolge von einer bestimmten Zahl zu zählen. In seinem Beispiel kam die 1 vier mal in Folge vor. Entsprechend muss die Funktion das Ergebnis 4 auswerfen. Das funktioniert mit einer COUNTA Formel aus meiner Sicht nicht. Wäre zwischen der Viererfolge eine Leerzelle, müsste das Ergebnis in dem Beispiel dann 3 betragen.
Du hast Recht, hab das übersehen: nur die Zahlen in Folge sollten gezählt werden.
 
  • Gefällt mir
Reaktionen: Krombacher1
Vielen dank für eure Zeit und Antworten.

@SKu Es wäre auch kein Problem für mich eine "2" statt "leer" in die Zellen einzutragen. Das wichtigste ist, dass ich die Sequenz von gleichen Zellinhalten berechnen kann.

Ich kann auch 1 1 1 2 11 2 2 2 1 1 1 1 1 2 2 2 2 eintragen. Es geht nur um die Sequenz eines gleichen Wertes in Folge. In diesem Beispiel wären es 5x "1" und 4x"2x" maximal.
Ergänzung ()

@N00bn00b ich versuche morgen mal mit deiner Formel zu arbeiten. Das könnte evtl. was werden.
 
Zuletzt bearbeitet:
Hat mir keine Ruhe gelassen, deshalb mein zweiter Versuch: ZÄHLENWENN() kann man vergessen ;)

In A1:J1 wieder die Inputzahlen, Zeilen 2 bis 4 sind Hilfszeilen, in K4 und L4 steht das Resultat:

LibeOffice_CB_1.png


Hier die Formeln:

LibeOffice_CB_2.png

  • Zeile 2 prüft jeweils , ob in Zeile 1 der Wert in der Zelle links von der aktuellen derselbe ist
  • Zeile 3 setzt diese Info fortlaufend in einen String um (in Abhängigkeit von Zeile 2)
  • Zeile 4 enthält die Länge dieses Strings
  • Zelle K4 zeigt die Länge des längsten Strings in Zeile 4 an. In diesem Beispiel 4, da die 1 viermal in Folge vorkommt
  • Zelle L4 enthält dann die Ziffer, die am häufigsten hintereinander auftritt, hier die 1.

Habe nicht jeden Fall getestet (war schon spät...), aber funktioniert soweit, auch mit leeren Zellen oder Buchstaben.

Am Schluss noch die .ods Datei.

Mit einem VBA Script (bzw. Array-Funktionen) könnte man das in der Tat etwas eleganter machen: Zeile 2 zu einem String konkatenieren, also "0011101100", splitten mit "0" als Trenner, die Länge des längsten Teilstrings+1 wäre das Resultat.
 

Anhänge

Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Krombacher1
Zurück
Oben