Seite 1 von 1

Variabler Zellbereich in einer Matrix Formel

Verfasst: Do, 08.10.2015 18:57
von calclo
Hallo zusammen,

Hier eine Kopie (→ http://www.libreoffice-forum.de/viewtop ... =6&t=15458 *) aus dem libreoffice-forum. Hier ist ja etwas mehr los. :)
*Moderation: Link zum Crosspost eingefügt. — lorbass, Moderator

ich habe, bis natürlich auf die Lösung alles probiert, komme aber nicht zu keinem Ergebinis.


Zu meinem Problem...

Monat1:

test 1
test 1
test 1
test 2
test 2
test 1
=====
2 <- hier die Formel (alles ok)

Monat 2
Test2
Test2
Test2
=====
1 <- hier die Formel (alles ok)


So sieht ungefähr meine Spalte B aus. (Pro Monat einen eigenen Bereich)
Ich will nun das er mir alles (ohne Duplikate) zusammenzählt und als Zahl ausgibt. (In diesem Fall eine 2 bzw. eine 1)

Dies funktioniert auch mit prima:
{=SUMME(WENN(B$1:B10<>"";1/ZÄHLENWENN(B$1:B10;B$1:B10);0))}

Nun gibt es blockweise abschnitte wo eine neue Berechnung stattfindet. (jeder Monat für sich)
Also kopierte ich bisher diese Zeile und passte Start und Endpunkt an händisch an.
Alles soweit auch ok.

Denn Startpunkt passte ich einmal an und der blieb auch mit der Fixierung B$XXX immer fest. Soweit auch kein Problem.
Nun dachte ich mir, baue ich die Formel ein wenig um, so das er den Endpunkt immer automatisch errechnet. (In diesem Fall immer bis zur Zeile vor dieser Formel)

Also machte ich daraus....
{=SUMME(WENN(B$1:INDIREKT(ADRESSE(10-1;2))<>"";1/ZÄHLENWENN(B$1:INDIREKT(ADRESSE(10-1;2));B$1:INDIREKT(ADRESSE(10-1;2)));0))}
Dies funktioniert auch soweit, ist aber immer noch nicht automatisiert, da ja Zeile 10 (hier als bsp.) händisch eingetragen ist.

Nun dachte ich mir nochmals, tausche ich 10-1 einfach durch ZEILE()-1 aus.
Sobald ich dies aber mache, kommt immer ein "Err:502" zustande.

Wo ist nun mein fehler? Hat dies vielleicht etwas damit zu tun, das dies eine Matrixformel ist? Oder kommt WENN nicht mit INDIREKT bzw. ADRESSE klar?
Oder falls jemand für den Teil "INDIREKT(ADRESSE(10-1;2))" eine bessere lösung hat, bitte her damit. :)


Vielen herzlichen Dank
calclo

Re: Variabler Zellbereich in einer Matrix Formel

Verfasst: Do, 08.10.2015 19:59
von Axel Richter
Hallo calclo,

das Problem ist =Zeile() ohne Parameter in einer Matrixformel. Genau erklären kann ich es nicht, aber manchmal kommt Calc damit nicht zurecht. =Zeile(B8), also mit Parameter, funktioniert dagegen dann wieder.

Angenommen, Deine erste Formel steht in B8, dann:

{=SUMME(WENN(B$1:INDIREKT(ADRESSE(ZEILE(B8)-1;2))<>"";1/ZÄHLENWENN(B$1:INDIREKT(ADRESSE(ZEILE(B8)-1;2));B$1:INDIREKT(ADRESSE(ZEILE(B8)-1;2)));0))}

Wenn Du die Formel nun nach unten kopierst, passt sich ja die Zeile in B8 entsprechend an. Es muss dann also nur noch die 1 in B$1 jeweils angepasst werden.

viele Grüße

Axel

Re: Variabler Zellbereich in einer Matrix Formel

Verfasst: Do, 08.10.2015 20:15
von lorbass
calclo hat geschrieben:Hier ist ja etwas mehr los.
Allerdings sind viele Helfer hier wie dort aktiv. Dies gilt insbesondere für Karolus, mit dem du im anderen Forum ja schon einen ausführlichen Dialog geführt hast.

BTW: Es ist ja schon ganz gut, dass du eingangs darauf aufmerksam gemacht hast, dass dieser Thread eine „Kopie“ – allgemein als „Crosspost“ oder „Crossposting“ bezeichnet – ist. Perfekt wäre, die Threads gegenseitig miteinander zu verlinken. Bitte lies gelegentlich die Allgemeinen Hinweise zur Forumsbenutzung, in jedem Forums-Bereich ganz oben in den permanenten Bekanntmachungen zu finden.

Gruß
lorbass

Re: Variabler Zellbereich in einer Matrix Formel

Verfasst: Do, 08.10.2015 21:46
von calclo
lorbass hat geschrieben:
calclo hat geschrieben:Hier ist ja etwas mehr los.
Allerdings sind viele Helfer hier wie dort aktiv. Dies gilt insbesondere für Karolus, mit dem du im anderen Forum ja schon einen ausführlichen Dialog geführt hast.

BTW: Es ist ja schon ganz gut, dass du eingangs darauf aufmerksam gemacht hast, dass dieser Thread eine „Kopie“ – allgemein als „Crosspost“ oder „Crossposting“ bezeichnet – ist. Perfekt wäre, die Threads gegenseitig miteinander zu verlinken. Bitte lies gelegentlich die Allgemeinen Hinweise zur Forumsbenutzung, in jedem Forums-Bereich ganz oben in den permanenten Bekanntmachungen zu finden.

Gruß
lorbass
Hallo lorbass

auch dir hier danke dür den Hinweis.
Auch habe ich nie gesagt das in dem einem Forum weniger kompetente User untwerwegs sind, wie in dem anderen. Nur die Frequenz ist halt in dem einen eine andere wie hier.
Wie du ja auch lesen konntest haben aber diese Dialoge leider zu keinem Ergebnis geführt. Dies von hier muss ich noch erst testen.

Ja genau, die Threads gegeneinander Verlinken.
Genau dies habe ich vermieden und den Link so dezent wie möglich gehalten, da ich genau dies eher als ein Problem gesehen habe.

Bezüglich dem "Allgemeinen Hinweise zur Forumsbenutzung". Ja ich lese mir so gut wie nie AGBs durch. Nur evtl. Punkte welche mich wirklich Interessieren.
Ich nehme mir auch mal das Recht herraus zu sagen das 80% wenn nicht noch mehr, ausgenomen Admins, Moderatoren etc., das sich weniger als 20% der User solche Sachen durchlesen. Ja ich habe es auch nicht getan.
Ich weiss aber trotzdem wie man sich in einem Forum auch zu verhalten hat, ausser du kannst mir an vorherigen Posts vielleicht etwas anderes aufzeigen, genau darum lese ich solche Sachen nicht und es kann dadurch dann zu solchen misverständnissen kommen.

Deswegen aber gleich den Finger zu erheben "Crosspost", "Crossposting", "Allgemeinen Hinweise zur Forumsbenutzung" und dies auch noch an allen stellen, ja das geht "meiner Meinung" etwas zu weit. Darum habe ich auch etwas lust bekommen dies so zu schreiben.
Das nächste mal einfach den Link einfügen und fertig, oder wenn es euch nicht passt einfach den Thread Löschen (hätte mich weniger gestört) als so ein Aufsehen deswegen zu machen.
Ja, ich bin hier kein Mod und ich weiss nicht wie oft so etwas vorkommt, aber einen Link einfügen und fertig (was Ihr ja auch getan habt) hätte auch voll und ganz gereicht. ;)

So, nun wittme ich mich dem nächsten Post dem eigentlichen Problem.

Viele Grüße
calclo

Re: Variabler Zellbereich in einer Matrix Formel

Verfasst: Do, 08.10.2015 22:08
von calclo
Axel Richter hat geschrieben:Hallo calclo,

das Problem ist =Zeile() ohne Parameter in einer Matrixformel. Genau erklären kann ich es nicht, aber manchmal kommt Calc damit nicht zurecht. =Zeile(B8), also mit Parameter, funktioniert dagegen dann wieder.

Angenommen, Deine erste Formel steht in B8, dann:

{=SUMME(WENN(B$1:INDIREKT(ADRESSE(ZEILE(B8)-1;2))<>"";1/ZÄHLENWENN(B$1:INDIREKT(ADRESSE(ZEILE(B8)-1;2));B$1:INDIREKT(ADRESSE(ZEILE(B8)-1;2)));0))}

Wenn Du die Formel nun nach unten kopierst, passt sich ja die Zeile in B8 entsprechend an. Es muss dann also nur noch die 1 in B$1 jeweils angepasst werden.

viele Grüße

Axel

Hallo Axel,

erst mal vielen Dank.
Dies ist ja wirklich bescheiden, um es mal nett zu formulieren.
Gerade eben getestet und wie wahr. Gebe ich ZEILE einen Parameter mit, also die Zeile klappt es wunderbar.

Darauf wäre ich in der nächsten zeit sicherlich nicht selbst gekommen.
Schade das es aber dadurch nicht ganz so Variabel ist, als eben ohne Parameter.
So darf ich nur immer die Zelle kopieren und nicht die Formel selbst. Denn sonst hackt es ja wieder da der richtige bezug wieder fehlt.
Ich schau mal weiter ob man dieses Problem vielleicht doch noch irgendwie lösen kann, so ist es aber schon die richtung welche ich mir vorgestellt habe.

Danke erst einmal und Viele Grüße
calclo

Re: Variabler Zellbereich in einer Matrix Formel

Verfasst: Fr, 09.10.2015 16:07
von lorbass
calclo hat geschrieben:Ja genau, die Threads gegeneinander Verlinken.
Genau dies habe ich vermieden
Genau dieses ist in diesem Forum erwünscht.
calclo hat geschrieben:Bezüglich dem "Allgemeinen Hinweise zur Forumsbenutzung". Ja ich lese mir so gut wie nie AGBs durch. Nur evtl. Punkte welche mich wirklich Interessieren.
Wenn du dich schon nicht um die Spielregeln deiner Gastgeber kümmern magst, nimm doch bitte fürs erste wenigstens den Punkt »Crossposting nicht erwünscht, aber toleriert« aus unseren Allgemeinen Hinweise zur Forumsbenutzung zur Kenntnis.
calclo hat geschrieben:Das nächste mal einfach den Link einfügen und fertig
(…)
ich weiss nicht wie oft so etwas vorkommt, aber einen Link einfügen und fertig (…) hätte auch voll und ganz gereicht.
Genau! Wenn du das zukünftig genau so machst, werden dir weitere Hinweise über Crosspostings in diesem Forum erspart bleiben – jedenfalls von mir.

Ach ja, nimm dir doch bitte trotzdem gelegentlich ein, zwei Minuten Zeit und lies die Allgemeinen Hinweise zur Forumsbenutzung, in jedem Forums-Bereich ganz oben in den permanenten Bekanntmachungen. Es sind quasi unsere Spielregeln und haben mit AGB nix zu tun. Du spielst ja auch nicht Skat nach Mau Mau-Regeln …

Gruß
lorbass