matrixformel funktioniert nicht

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

echo
*******
Beiträge: 1038
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

matrixformel funktioniert nicht

Beitrag von echo »

Hallo zusammen,
ich habe mir einen Terminkalender mit Excel erstellt, den ich gerne auch in OO verwenden möchte.
Mein Problem:
Eine Matrixformel die in Excel einwandfrei funktioniert gibt in OO Err.504 zurück und ich weiß nicht warum.

Zum Aufbau: Ich habe drei Spalten für
> den Text der im Kalender eingetragen werden soll
> Erster Tag vom Termin
> Letzter Tag von Termin.
Diesen drei Spalten habe ich Namen verpasst:
Text >> eintragen >> ='Ferien und Termine Eintragen'!$G$3:$G$130
Erster Tag Termin >> eintragen_von >> ='Ferien und Termine Eintragen'!$H$3:$H$130
Letter Tag Termin >> eintragen_bis >> ='Ferien und Termine Eintragen'!$J$3:$J$130

Die Matrix-Formel die ich in Excel verwendet habe sieht so aus:
=INDEX(eintragen;VERGLEICH(1;N((eintragen_von<=F12)*(eintragen_bis)>=F12);0))
Dort sieht ein Ausschnitt so aus:
Wer mag, kann sich auch die komplette Excel-Datei ansehen.

Wo liegt der Fehler?
Danke für eure Hilfe
Gruß Holger

Excel-Datei
hawe
****
Beiträge: 151
Registriert: Di, 05.08.2008 19:47

Re: matrixformel funktioniert nicht

Beitrag von hawe »

Hallo Holger,

hab mir Deine Datei mal angesehen.
Das Hauptproblem ist, dass die von Dir verwendete Hetterich-Formel zur Berechnung des Osterdatums in Calc nicht funktionabel ist. Excel hat einen Datumsbug (den 29.02.1900) und das macht die Formel unbrauchbar in OO Calc. Gehe nach Excelformeln.de und nimm eine der längeren/ausführlicheren Versionen. Auf jeden Fall sollte die Osterformel Datum zurückliefern und nicht Text!
Dann sollest Du nicht die Funktion N() verwenden, sondern einfach mit 1*() multiplizieren um numerische Werte zu erhalten, das sollte bereits genügen um Werte zu erhalten - allerdings die flaschen...
Zuletzt geändert von hawe am Di, 25.11.2008 21:13, insgesamt 1-mal geändert.
Gruss HW
Win7/SuSe 11.2 - LO 3.3
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: matrixformel funktioniert nicht

Beitrag von balu »

Hallo Holger,

es ist immer vorteilhaft, wenn man das Betriebssystem und die OOo-Version angibt. Hätte ich nicht neben der 2.2.1 auch noch die 3er, hätte ich mich nur gewundert warum ich nach intensiver suche nicht den erwähnten Fehler gefunden habe. Denn in der 2.x finde ich nämlich nur #WERT!, während in der 3er Err:504 angezeigt wird. Aber das habe ich erst nach mühsamer suche herausgefunden, da die Datei -(so wie ich sie geladen hatte)- nirgends eine Fehlermeldung zeigte. Erst als ich alle Spalten und Zeilen in jedem Blatt eingeblendet hatte, konnte ich im Tabellenblatt "halbes Jahr flexibel" in den Spalten C, G, K ... die Fehlermeldung sehen. Wahrscheinlich meinst Du auch das Blatt.
Oder!?

So, genug gemeckert :wink: :D
echo hat geschrieben: Eine Matrixformel die in Excel einwandfrei funktioniert gibt in OO Err.504 zurück und ich weiß nicht warum.
OOo-Calc ist kein 1:1 Klon von Excel, und von daher nicht zu 100% kompatibel. Es ist nun mal so, dass es Formeln gibt, die in Excel funktionieren, aber nicht in OOo-Calc. Das betrifft aber nicht nur Formeln, sondern auch z.B. Formular-Steuerelemente und Makros.

Wie Du jetzt allerdings die Formel auch in OOo funktionstüchtig bekommst, oder eine alternative finden kannst, dass weiss ich momentan leider auch nicht.
Und jetz tu ich mich a bisserl schämen :oops: :wink:


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: matrixformel funktioniert nicht

Beitrag von balu »

Hallo HW,

was hat denn die Hetterich-Ostersonntag-Formel mit seinem Hauptproblem zu tun?
Das versteh ich nicht :roll:


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
echo
*******
Beiträge: 1038
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

Re: matrixformel funktioniert nicht

Beitrag von echo »

Hallo zusammen,
erst mal danke für eure Mühe,
Auch für den Hinweis auf die Osterformel.
Da bin ich auch schon drauf gestoßen weil auf einmal meine Ferien nicht mit den Feiertagen überein stimmten.
Wie @balu schon schreibt, ist nicht mein Problem trotzdem danke.

Ja, und bisserl schämen sollte ich mich.
Da es wie geschrieben nicht so richtig funktionierte, war das erste was ich gemacht habe, die neuste Version runter zu landen.
da versucht man sein Problem so deutlich wie irgendwie möglich zu schreiben und vergisst die hälfte...
Sorry.

Mal schauen was da noch raus kommt, ist ja ganz schön reger Betrieb hier.
Danke Holger
hawe
****
Beiträge: 151
Registriert: Di, 05.08.2008 19:47

Re: matrixformel funktioniert nicht

Beitrag von hawe »

@Balu
Die Hetterich-Formel liefert falsche Werte für das Osterdatum in Calc und vor allem liefert sie Text zurück.
Und seine ArrayFormeln die das Datum abfragen sind auf numerische Werte abgestellt- da kann nix zurück kommen, wenn man Text mit Datumswerten vergleicht, oder? UNd deshalb ist die Hetterich-Formel sein Hauptproblem, selbst wenn sie richtig rechnen würde, erhält er kein Ergebnis über dei Arrayformenl, weil wegen Typemismatch der Daten.
XL konvertiert Text automatisch nach Zahl oder Datum und Calc nicht!
Was da raus kommt - ein funktionierender Kalender (suchen und ersetzen - you know...)

PS: Was hat Server hier für eine Zeit, arbeitet der auch mit der Hetterich-Formel :-)?
Gruss HW
Win7/SuSe 11.2 - LO 3.3
echo
*******
Beiträge: 1038
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

Re: matrixformel funktioniert nicht

Beitrag von echo »

Bitte Bitte nicht steiten und
ich suche keine andere Osterformel und ich frage die Oserformel auch nicht ab.
Es sind meine Termine die alle samt Datumswerte sind.
Sie werden durch die Matrix-Formel abgefragt
hat also mir meinem Problem wirklich nichts zu tun

gruß Holger
Zuletzt geändert von echo am Di, 25.11.2008 22:05, insgesamt 3-mal geändert.
hawe
****
Beiträge: 151
Registriert: Di, 05.08.2008 19:47

Re: matrixformel funktioniert nicht

Beitrag von hawe »

Wer streitet, denn?
Gruss HW
Win7/SuSe 11.2 - LO 3.3
echo
*******
Beiträge: 1038
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

Re: matrixformel funktioniert nicht

Beitrag von echo »

OK, kleiner Nachtag :
Text kann auch Excel nicht berechnen.

So, bitte zurück zum Problem, danke
schöne grüße Holger
echo
*******
Beiträge: 1038
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

Re: matrixformel funktioniert nicht

Beitrag von echo »

@hawe
auch wenn es nicht an der Osterformel liegt, deine Antwort war trotzdem genial richtig.
Ich habe N() aus der Formel raus geschmissen ( 1* ....) und schon ist alles ok.

Also Dankeschön für (deine) eure Hilfe
Holger
hawe
****
Beiträge: 151
Registriert: Di, 05.08.2008 19:47

Re: matrixformel funktioniert nicht

Beitrag von hawe »

Holger, für dich aus der XL-Help
Syntax

N(Wert)

Wert ist der Wert, den Sie in eine Zahl umwandeln möchten. N wandelt Werte gemäß der folgenden Tabelle um.
8<---

Hinweise
Normalerweise ist es nicht erforderlich, die Funktion N innerhalb einer Formel einzusetzen, da Excel Werte bei Bedarf automatisch umwandelt. Diese Funktion steht aus Gründen der Kompatibilität zu anderen Tabellenkalkulationsprogrammen zur Verfügung.

Das gleiche gilt für WERT

In der Regel ist es nicht erforderlich, die Funktion WERT innerhalb einer Formel zu verwenden, da Microsoft Excel Text bei Bedarf automatisch in Zahlen umwandelt. Diese Funktion steht aus Gründen der Kompatibilität zu anderen Tabellenkalkulationsprogrammen zur Verfügung.
Vielleicht kommt die Botschaft doch noch bei Dir an ;-)...
Gruss HW
Win7/SuSe 11.2 - LO 3.3
echo
*******
Beiträge: 1038
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

Re: matrixformel funktioniert nicht

Beitrag von echo »

Hallo Hans, ist ja ganz nett da drüber zu schreiben..
Normalerweise ist es nicht erforderlich, die Funktion N innerhalb einer Formel einzusetzen
Da haben wir schon wieder einen Unterschied gefunden:
Wenn ich mir meine Ur-Formel ansehe

=INDEX(eintragen;VERGLEICH(1;N((eintragen_von<=F12)*(eintragen_bis)>=F12);0))

dann gibt mir (eintragen_von<=F12)*(eintragen_bis)>=F12) entweder WAHR oder FALSCH zurück.
Ohne N() 0der 1*.. funktioniert EXCEL-Vergleich() nicht.

Und OO kann N() nicht obwohl die Funktion bekannt ist.
Nette Geschichte.

Trotzdem gefällt mit OO auch sehr gut.
Ist halt ein wenig gewöhnungsbedürftig
Gruß Holger
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: matrixformel funktioniert nicht

Beitrag von balu »

Hallo Leute,

ich will weder echo, noch hawe, etwas böses. :wink:

Ich möchte nur noch mal deutlich darauf hinweisen, dass die gefundene Lösung, N() mit 1* zu ersetzen, erst ab der OOo-3 Version funktioniert. Und das folgedessen die richtige schreibweise wie folgt aussieht.

Code: Alles auswählen

=INDEX(eintragen;VERGLEICH(1;1*((eintragen_von<=N3)*(eintragen_bis)>=N3);0))
Und natürlich nicht vergessen die Formel mit Strg+Shift+Enter abzuschließen :wink:


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
echo
*******
Beiträge: 1038
Registriert: Fr, 14.11.2008 15:27
Wohnort: BRA - Nds

Re: matrixformel funktioniert nicht

Beitrag von echo »

Hallo @balu
Danke für die Antwort und mit Böses hat es garnichts zu tun,
Ich freue mich sehr das ich eine Lösung gefunden habe.

Aber
an welche ["falsche"] Schreibweise hast du überhaupt gedacht?

Wenn ich N() durch 1* ersetze kann Ich mit allerbesten willen keinen Unterschied mehr zwischen deinem Beispiel und meiner "Ur-Formel" erkennen.
[Mal abgesehen von einem anderen Bezug]

>> hier "meine" alte Formel und dein Vorschlag zum vergleich
=INDEX(eintragen;VERGLEICH(1;N((eintragen_von<=F12)*(eintragen_bis)>=F12);0))
=INDEX(eintragen;VERGLEICH(1;1*((eintragen_von<=N3)*(eintragen_bis)>=N3);0))

Danke und Gruß
Holger
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: matrixformel funktioniert nicht

Beitrag von balu »

Hallo Holger,

durch deine vohergehenden postings war nicht eindeutig zu erkennen, wie man denn nun die Formel umzuschreiben hat. Denn wenn man N() rausnimmt, entfallen ja dadurch zwei Klammern (), weil ja jede Funktion eine öffnende "(" und eine schließende ")" Klammer hat. Das ist nun mal halt so vorgeschrieben.

Und wie ich eben feststellen musste, spielt es keine rolle ob man die Formel so

Code: Alles auswählen

{=INDEX(eintragen;VERGLEICH(1;1*((eintragen_von<=N4)*(eintragen_bis)>=N4);0))}
oder aber auch so

Code: Alles auswählen

{=INDEX(eintragen;VERGLEICH(1;1*(eintragen_von<=N4)*(eintragen_bis)>=N4;0))}
schreibt.
Denn beide funktionieren gleichermaßen richtig, in der 3er-Version :o
Also jetzt gibt es sogar zwei Variationen wie man die Formel schreiben kann. Aber das liegt wohl daran, dass es sich dabei um eine Matrixformel handelt.

Und ja! Da darfst dich wirklich freuen, dass Du eine Lösung gefunden hast. :D
Und ich bin mal wieder etwas mehr erstaunt darüber was sich in der 3er geändert hat, auch wenn es nur eine "kleinigkeit" ist.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Antworten