Funktionsaufruf über Matrixformel geht nicht

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

saxo
**
Beiträge: 48
Registriert: Do, 01.04.2010 00:45

Funktionsaufruf über Matrixformel geht nicht

Beitrag von saxo »

Hallo,
habe diese Progrämmchen zur Umformatierung von Gradangaben
z.B. aus String 10°W soll die Zahl -10 werden:
Function DEG_CHAR2NUM(x As String) As Double
If (LCase(Right(x,1)) = "w") Then
DEG_CHAR2NUM = -Val(x)
Else
DEG_CHAR2NUM = Val(x)
EndIf
End Function

Funktioniert auch wenn ich einzelne Werte umrechne. Da ich aber viele Werte habe, will ich das in eine Matrixformel schreiben und es kommt immer Laufzeitfehler. Weiss jemand warum? Datei hängt an.
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Funktionsaufruf über Matrixformel geht nicht

Beitrag von Karolus »

Hallo
Als Matrixformel wäre in diesem Fall nur sinnvoll hinter DEG_CHAR2NUM( eine Bereichsadresse anzugeben, zb. =DEG_CHAR2NUM(A2:A7)
-aber du brauchst das doch nicht wirklich als Matrix, es reicht doch in B2: =DEG_CHAR2NUM(A2)
und die Formel nach unten ziehen.
Nebenbei sehe ich auch keinen zwingenden Grund dazu INDIREKT und ZEILE() zu missbrauchen.

Gruß Karo
LO25.2… debian 13( trixie ) auf Raspberry5 8GB (ARM64)
LO25.8… flatpak debian 13( trixie ) auf Raspberry5 8GB (ARM64)
saxo
**
Beiträge: 48
Registriert: Do, 01.04.2010 00:45

Re: Funktionsaufruf über Matrixformel geht nicht

Beitrag von saxo »

Hallo Karo,
also mit der Matrixformel {=DEG_CHAR2NUM(A6:A7)} gibt es den gleichen Laufzeitfehler.

Der einfache Versuch eine Spalte zu kopieren mit Matrixformel {=(A6:A7)} funktioniert nach mehrmaliger Eingabe, die ersten Male hat er selbständig wieder nach {=(A7:A7)} umgewandelt.

Da ich viele 100 Werte berechnen muss, dachte ich es wäre sinnvoll das mit Matrixformel zu machen.

Grüsse
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Funktionsaufruf über Matrixformel geht nicht

Beitrag von Karolus »

Hallo
Da ich viele 100 Werte berechnen muss, dachte ich es wäre sinnvoll das mit Matrixformel zu machen.
Nein es geht in diesem Fall nur um ein effizientes Ausfüllen eines größeren Bereichs. Das erreichst du nach Eingabe der ersten Formel leichter mit:
entweder:
  • - Doppelklick auf die rechte untere Rahmenecke der Formelzelle
oder:
  • - markieren des auzufüllenden Bereichs + → Bearbeiten → Ausfüllen → unten...
oder:
  • -kopieren der Formelzelle + einfügen in den auszufüllenden Bereich
Gruß Karo
LO25.2… debian 13( trixie ) auf Raspberry5 8GB (ARM64)
LO25.8… flatpak debian 13( trixie ) auf Raspberry5 8GB (ARM64)
Antworten