Zählen in einer Matrix, ohne Skript
Moderator: Moderatoren
Zählen in einer Matrix, ohne Skript
Guten Abend,
ich schlage mich derzeit mit einem Männer/Frauen/Problem herum:
Eine Zahlenfolge z.B. 1100 1110 0011 steht z.B. für nebeneinandersitzende Menschen, wobei die verschiedenen Zahlen Mann bzw. Frau repräsentieren würden.
Diese Zahlen stehen zum Austesten derzeit noch jeweils einzeln untereinander und sind aus Matrixformeln hervorgegangen, am Ende soll die Formel auch nur in einer Zelle stehen.
Ich möchte nun ermittelt bekommen, wie oft die "1" hintereinander kommt. Das sind hier 3 (nicht 4, also kein Kreis).
Meine Idee ist, dass eine weitere Matrixformel eine zweite Spalte wie folgt liefert
1 1
1 2
0 0
0 0
1 1
1 2
1 3
0 0
0 0
0 0
1 1
1 2
Dann könnte ich mit {=MAX(spalte1*spalte2)} mir die 3 ausgeben lassen.
Ja, so wie es da steht, kann auch eine einfache Hilfsspalte mit Wenn-Funktion helfen, aber weil das ganze in Matrixformeln eingebettet ist, geht das nicht wegen des Selbstbezugs.
Wer kann helfen oder hat eine andere Idee?
Danke und Gruß,
Stefan
libre office 4.1.6.2
ich schlage mich derzeit mit einem Männer/Frauen/Problem herum:
Eine Zahlenfolge z.B. 1100 1110 0011 steht z.B. für nebeneinandersitzende Menschen, wobei die verschiedenen Zahlen Mann bzw. Frau repräsentieren würden.
Diese Zahlen stehen zum Austesten derzeit noch jeweils einzeln untereinander und sind aus Matrixformeln hervorgegangen, am Ende soll die Formel auch nur in einer Zelle stehen.
Ich möchte nun ermittelt bekommen, wie oft die "1" hintereinander kommt. Das sind hier 3 (nicht 4, also kein Kreis).
Meine Idee ist, dass eine weitere Matrixformel eine zweite Spalte wie folgt liefert
1 1
1 2
0 0
0 0
1 1
1 2
1 3
0 0
0 0
0 0
1 1
1 2
Dann könnte ich mit {=MAX(spalte1*spalte2)} mir die 3 ausgeben lassen.
Ja, so wie es da steht, kann auch eine einfache Hilfsspalte mit Wenn-Funktion helfen, aber weil das ganze in Matrixformeln eingebettet ist, geht das nicht wegen des Selbstbezugs.
Wer kann helfen oder hat eine andere Idee?
Danke und Gruß,
Stefan
libre office 4.1.6.2
Re: Zählen in einer Matrix, ohne Skript
Ich würde eine Zelle mit 110011100011 per →Daten→Text in Spalten→Trennzeichen `0` [x]Trennzeichen zusammenfassen auf mehrere aufteilen und dann:
als Matrixformel benutzen.
Karolus
Code: Alles auswählen
=MAX(LÄNGE(A1:K1))
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Zählen in einer Matrix, ohne Skript
Hallo Stephan HE,
wie wäre es denn mit einer eigenen Funktion?
Ist zwar doch "skript" wird aber wie eine Formel eingesetzt.
Angenommen deine zu auszuwertende Zahlenreihe "1100 1110 0011" steht in C3,
dann ist die Anwendung dieser Funktion wie folgt
MAXSIGNINROW(C3;"1")
und das Ergebnis obiger Formel ist 3
das ist doch erheblich komfortabler als dein jetziger Ansatz finde ich jedenfalls ![Wink ;)](./images/smilies/icon_wink.gif)
wie wäre es denn mit einer eigenen Funktion?
Ist zwar doch "skript" wird aber wie eine Formel eingesetzt.
Angenommen deine zu auszuwertende Zahlenreihe "1100 1110 0011" steht in C3,
dann ist die Anwendung dieser Funktion wie folgt
MAXSIGNINROW(C3;"1")
und das Ergebnis obiger Formel ist 3
Code: Alles auswählen
Function MAXSIGNINROW(sToCheck as string, sSign as string)
for i = 1 to len(sToCheck)
if mid(sToCheck,i,1) <> sSign then
nCnt = 0
else
nCnt = nCnt +1
if nCnt > nMax then nMax = nCnt
end if
next
MAXSIGNINROW = nMax
End Function
![Wink ;)](./images/smilies/icon_wink.gif)
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: Zählen in einer Matrix, ohne Skript
Hi,
angenommen deine Binärreihe steht in Zelle A1, dann versuche mal diese Matrixformel
Gruß R
angenommen deine Binärreihe steht in Zelle A1, dann versuche mal diese Matrixformel
Code: Alles auswählen
{=MAX(NICHT(ISTFEHLER(FINDEN(WIEDERHOLEN(1;ZEILE($A$1:$A$12));A1;1)))*ZEILE($A$1:$A$12))}
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Zählen in einer Matrix, ohne Skript
Hallo
@F3K Total:
Genial!
Ich hab noch WENNFEHLER eingebaut (verfügbar in LibreOffice
@F3K Total:
Genial!
Ich hab noch WENNFEHLER eingebaut (verfügbar in LibreOffice
Code: Alles auswählen
=MAX( WENNFEHLER(FINDEN(WIEDERHOLEN(1;ZEILE(A1:A12)) ; A1 )>0;0) * ZEILE(A1:A12) )
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Zählen in einer Matrix, ohne Skript
Ja, ich kann mit diesem Board noch nicht richtig umgehen Entschuldigt bitte:
Guten Morgen,
vielen Dank für alle Antworten, ich benutze nun folgende Formel, sie bezieht sich auf das binäre Wort in Zelle C7:
Das ist die Formel von F3 Total, allerdings ist der Teil Zeile erweitert, sodass immer die Länge des Wortes berücksichtigt wird. Das macht
.
Ohne das Summenprodukt vorneweg erhält man die einspaltige Matrix mit der richtigen Maximalzahl, Summenprodukt dampft es in eine Zelle ein.
DANKE NOCHMALS!
Schöne Grüße,
Stefan
Guten Morgen,
vielen Dank für alle Antworten, ich benutze nun folgende Formel, sie bezieht sich auf das binäre Wort in Zelle C7:
Code: Alles auswählen
=SUMMENPRODUKT(MAX(NICHT(ISTFEHLER(FINDEN(WIEDERHOLEN(1;ZEILE($A$1:INDEX(A$1:A$1048576;LÄNGE(C7))));C7;1)))*ZEILE($A$1:INDEX(A$1:A$1048576;LÄNGE(C7)))))
Das ist die Formel von F3 Total, allerdings ist der Teil Zeile erweitert, sodass immer die Länge des Wortes berücksichtigt wird. Das macht
Code: Alles auswählen
ZEILE($A$1:INDEX(A$1:A$1048576;LÄNGE(C7)))
Ohne das Summenprodukt vorneweg erhält man die einspaltige Matrix mit der richtigen Maximalzahl, Summenprodukt dampft es in eine Zelle ein.
DANKE NOCHMALS!
Schöne Grüße,
Stefan
Re: Zählen in einer Matrix, ohne Skript
Hallo
besser vielleicht die Kirche im Dorf lassen und:Code: Alles auswählen
ZEILE($A$1:INDEX(A$1:A$1048576;LÄNGE(C7)))
Code: Alles auswählen
ZEILE(VERSCHIEBUNG($A$1;0;0;LÄNGE(C7))
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Zählen in einer Matrix, ohne Skript
Moinsen,
Wenn ich alte Matrixformelreste entferne* und in einer Zelle die folgende Formel (Danke Karolus, für die "Verschiebung") mit STRG+SHIFT+ENTER abschliesse, steht das Ergebnis in nur dieser einen Zelle.
Gruß R
Info:
Matrixformeln passen ihren, von der Ersteingabe herrührenden, Ausgabe-Zellbereich bei Änderungen nicht automatisch an.
Dieses Verhalten wird der Grund dafür sein, dass du eine einspaltige Matrix erhalten hast.
Beispiel: Gib die Formel als Matrixformel ein. Ändere sie dann auf -> du erhältst einen NV-Fehler in den Zellen 9 und 10. Ändere sie nun auf -> die Zeilen 11 und 12 fehlen
Nur Löschen und Neueingabe funktioniert.
auf das Summenprodukt kannst Du verzichten.Stefan HE hat geschrieben:... Summenprodukt dampft es in eine Zelle ein.
Wenn ich alte Matrixformelreste entferne* und in einer Zelle die folgende Formel (Danke Karolus, für die "Verschiebung") mit STRG+SHIFT+ENTER abschliesse, steht das Ergebnis in nur dieser einen Zelle.
Code: Alles auswählen
{=MAX(NICHT(ISTFEHLER(FINDEN(WIEDERHOLEN(1;ZEILE(VERSCHIEBUNG($A$1;0;0;LÄNGE(C7))));C7;1)))*ZEILE(VERSCHIEBUNG($A$1;0;0;LÄNGE(C7))))
Info:
Matrixformeln passen ihren, von der Ersteingabe herrührenden, Ausgabe-Zellbereich bei Änderungen nicht automatisch an.
Dieses Verhalten wird der Grund dafür sein, dass du eine einspaltige Matrix erhalten hast.
Beispiel: Gib die Formel
Code: Alles auswählen
{=ZEILE(A1:A10)}
Code: Alles auswählen
{=ZEILE(A1:A8)}
Code: Alles auswählen
{=ZEILE(A1:A12)}
Nur Löschen und Neueingabe funktioniert.
Nach dem Selektieren mit Strg+ / kann der ganze Matrixformelbereich gelöscht werden.F1 Hilfe hat geschrieben:*
Bearbeiten von Matrixformeln
1. Wählen Sie den Zellbereich oder die Matrix aus, die die Matrix enthält. Um die ganze Matrix auszuwählen, positionieren sie den Cursor innerhalb der Matrix und drücken Strg+ / , wobei / das Divisionszeichen auf der nummerischen Tastatur ist.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Zählen in einer Matrix, ohne Skript
Hallo,
R: Stimmt, eigentlich brauche ich das Summenprodukt nicht.
Wenn ich es jedoch weglasse und diese Formel dann in andere Zeilen weiterziehe, zeigt es während des Ziehens neben dem Mauszeiger in einem kleinen Infotext z.B. "Matrixformel 2 Z x 1 S" an. Beim Loslassen habe ich dann nur #NAME? in den einzelnen Zellen stehen.
Auch die Verschiebung klappt. Die andere Variante ist halt seit einiger Zeit in meinem "Baukasten".
Gruß,
Stefan
R: Stimmt, eigentlich brauche ich das Summenprodukt nicht.
Wenn ich es jedoch weglasse und diese Formel dann in andere Zeilen weiterziehe, zeigt es während des Ziehens neben dem Mauszeiger in einem kleinen Infotext z.B. "Matrixformel 2 Z x 1 S" an. Beim Loslassen habe ich dann nur #NAME? in den einzelnen Zellen stehen.
Auch die Verschiebung klappt. Die andere Variante ist halt seit einiger Zeit in meinem "Baukasten".
Gruß,
Stefan
- Dateianhänge
-
- kaenguru.ods
- (19.93 KiB) 523-mal heruntergeladen
Zuletzt geändert von Stefan HE am Mo, 30.03.2015 13:33, insgesamt 1-mal geändert.
Re: Zählen in einer Matrix, ohne Skript
Danke : )