[Calc] Formelergebnis "Hyperlink" aus Blatt2 auf Blatt1 ausgeben

Hallo Andreas,

vorab: deine https://example.tld/ funktioniert auch nicht, wenn ich es aus deiner Mail aus durch Klick aus oder direkt im Browser aufrufe. Nimm also lieber etwas anderes zum Testen, z. B. http://www.beispiel.org/ ,wie in der Hilfe für die Funktion Hyperlink, oder mein Beispiel auf die LibO-Seite.

Eine sichere Erklärung kann ich nicht bieten, dazu müsste ich verstehen, was im Inneren von Calc abläuft, höchstens Hypothesen. Ich habe auch einfach aufgrund deiner Mail ein bisschen rumprobiert, weil mich das interessiert hat, ich bin kein besonderer Kenner von Calc.

Ich stelle aber fest, dass Calc Webadressen normalerweise erkennt, wenn sie einfach als Text dastehen, aber nicht wenn sie Ergebnis einer Formel sind:
ich habe in Tabelle2 noch die Zelle D2=C2&B2, da ist der _angezeigte _Inhalt genau die Adresse der Webseite über die Hilfe von LibreOffice. Aber der Inhalt wird nicht als Link erkannt.
Wenn ich den gleichen Inhalt direkt als Text eingebe, dann erkennt Calc das als Link, sichtbar an der blauen Hinterlegung. (Manchmal hat das nicht gleich geklappt, z.B. war zuerst nur der Text bis vor -support/ hinterlegt, dann habe ich mal die Anführungszeichen dazu getan, dann hat Calc den ganzen String ohne die Anführunsgzeichen hinterlegt, Anführungszeichen wieder weg -> ganzer String wie gewünscht hinterlegt. Der Inhalt des Links entsprach der Hinterlegung.)
Ich nehme daher an, dass die HYPERLINK-Funktion

1. gebraucht wird, um für Ergebnisse von Formeln auch die Behandlung
    als Hyperlink anzustoßen. Denn es ist schon etwas anderes, in einer
    Zelle bei Eingabe/Änderung des Textes zu prüfen, ob es formal ein
    Link ist, oder das bei allen Zellen mit Formeln bei jeder Berechnung
    zu tun. Ich habe zuwenig Ahnung, was genau alles abläuft, wenn eine
    Zelle geändert wird, um eine Größenordnung des Aufwands im Vergleich
    zum Ändern des Texts einer Zelle abzuschätzen, aber mein Gefühl sagt
    mir, dass es relevant genug ist, dass die Entwickler auf die
    Hyperlink-Prüfung in diesem Fall lieber verzichten, weil ja auch
    große Calc-Dateien möglichst schnell berechnet werden sollen. Da ist
    ein per Formel zusammengesetzter Hyperlink doch ein exotischer
    Ausnahmefall, dafür verlangsamt man nicht die fast 100 % der
    Dateien, die keinen enthalten.
2. für das Hinzufügen eines Anzeigetexts statt des technischen Links
    benötigt wird, was man ja meistens bevorzugt.

Für beide Punkte ist es nun aber, wenn meine Annahme stimmt, notwendig, dass die Formel =HYPERLINK(...) im Blatt1 steht, denn der Inhalt ist das Ergebnis einer Formel, und in dieser Zelle möchtest du die Funktionalität haben, dass anstatt des Links ein Text angezeigt wird.
Auf diese Formel wirst du dann wohl im Blatt1 nicht verzichten können, die Verkettung C2&B2, die ich in meiner ersten Mail auch noch auf Blatt1 hatte, kannst du natürlich über die oben genannte Zelle D2 in Blatt2 erledigen.

Im Lauf des Aufschreibens der Argumentation hat sich bei mir die Überzeugung gefestigt, dass diese Annahme stimmt. Mal sehen, ob das auch dich überzeugt.

Gruß

Gerhard

Gerhard Weydt schrieb:

vorab: deine https://example.tld/ funktioniert auch nicht, wenn ich es
aus deiner Mail aus durch Klick aus oder direkt im Browser aufrufe. Nimm
also lieber etwas anderes zum Testen,

"example.tld" ist ein reiner Platzhalter.
Es wird im Browser aufgerufen, das genügt zum Testen.

Ich hatte mir mal gemerkt, dass es als gute Praxis gilt zum Testen
keine existierende Domain zu missbrauchen.

Ich stelle aber fest, dass Calc Webadressen normalerweise erkennt, wenn
sie einfach als Text dastehen, aber nicht wenn sie Ergebnis einer Formel
sind:
ich habe in Tabelle2 noch die Zelle D2=C2&B2, da ist der _angezeigte
_Inhalt genau die Adresse der Webseite über die Hilfe von LibreOffice.
Aber der Inhalt wird nicht als Link erkannt.
Wenn ich den gleichen Inhalt direkt als Text eingebe, dann erkennt Calc
das als Link, sichtbar an der blauen Hinterlegung. (Manchmal hat das
nicht gleich geklappt, z.B. war zuerst nur der Text bis vor -support/
hinterlegt, dann habe ich mal die Anführungszeichen dazu getan, dann hat
Calc den ganzen String ohne die Anführunsgzeichen hinterlegt,
Anführungszeichen wieder weg -> ganzer String wie gewünscht hinterlegt.
Der Inhalt des Links entsprach der Hinterlegung.)
Ich nehme daher an, dass die HYPERLINK-Funktion

1. gebraucht wird, um für Ergebnisse von Formeln auch die Behandlung
    als Hyperlink anzustoßen. Denn es ist schon etwas anderes, in einer
    Zelle bei Eingabe/Änderung des Textes zu prüfen, ob es formal ein
    Link ist, oder das bei allen Zellen mit Formeln bei jeder Berechnung
    zu tun. Ich habe zuwenig Ahnung, was genau alles abläuft, wenn eine
    Zelle geändert wird, um eine Größenordnung des Aufwands im Vergleich
    zum Ändern des Texts einer Zelle abzuschätzen, aber mein Gefühl sagt
    mir, dass es relevant genug ist, dass die Entwickler auf die
    Hyperlink-Prüfung in diesem Fall lieber verzichten, weil ja auch
    große Calc-Dateien möglichst schnell berechnet werden sollen. Da ist
    ein per Formel zusammengesetzter Hyperlink doch ein exotischer
    Ausnahmefall, dafür verlangsamt man nicht die fast 100 % der
    Dateien, die keinen enthalten.
2. für das Hinzufügen eines Anzeigetexts statt des technischen Links
    benötigt wird, was man ja meistens bevorzugt.

Danke für Deine Ideen dazu.
Mir leuchtet ein, dass es Ressourcen verbraucht, zu erraten, ob etwas
ein Hyperlink ist. Da wird vermutlich ein regulärer Ausdruck im
Hintergrund drüber laufen.
Aber die Funktion HYPERLINK ist ja gerade eine explizite Angabe und da
muss nix geraten werden.
Daher scheidet "Einsparen von Ressourcen" als Motiv aus, das Ergebnis
von HYPERLINK nicht zu transportieren, wenn auf diese Zelle Bezug
genommen wird.

Für beide Punkte ist es nun aber, wenn meine Annahme stimmt, notwendig,
dass die Formel =HYPERLINK(...) im Blatt1 steht, denn der Inhalt ist das
Ergebnis einer Formel, und in dieser Zelle möchtest du die
Funktionalität haben, dass anstatt des Links ein Text angezeigt wird.

Hier verstehe ich Deine Argumentation noch nicht.

Es ist ja das Wesen eines Bezuges wie "D2=C2", dass er das Ergebnis
von C2 in D2 darstellt.
Das funktioniert bei beliebigen Formeln, die ich bisher ausprobierte
hatte.

Beispiel:
A2=1
B2=2
C2=SUMME(A2+B2)
D2=C2

Anzeige D2: 3

Daher wird meine Erwartung gebrochen, weil das Ergebnis von HYPERLINK
im Gegensatz zum Ergebnis von SUMME nicht (vollständig) angezeigt
wird.

Egal, ich muss mich damit arrangieren.
Ich war nur neugierig auf das Motiv der Entwickler.

Andreas

Hallo Andreas,

ich war ein paar Tage unterwegs, deshalb kommt mein Nachtrag erst jetzt

Gerhard Weydt schrieb:

vorab: deine https://example.tld/ funktioniert auch nicht, wenn ich es
aus deiner Mail aus durch Klick aus oder direkt im Browser aufrufe. Nimm
also lieber etwas anderes zum Testen,

"example.tld" ist ein reiner Platzhalter.
Es wird im Browser aufgerufen, das genügt zum Testen.

Ich hatte mir mal gemerkt, dass es als gute Praxis gilt zum Testen
keine existierende Domain zu missbrauchen.

Da stimme ich dir zu, der Punkt bei mir ist nur, dass ich beidem von dir angegebenen Link gar keine Antwort kriege, wenn ich ihn im Browser angebe, deswegen mein Tipp, eine andere Adresse zu nehmen, z.B. www.beispiel.org, das ich irgendwo mal gesehen habe, das funktioniert im Browser. Ich weiß nicht ob es da noch mehr gibt. Ichhabe es auch mit der Startseite von LibreOffice probiert, das ist, denke ich, auch eine Seite, die man guten Gewissens öffentlich nennen kann.

Ich stelle aber fest, dass Calc Webadressen normalerweise erkennt, wenn
sie einfach als Text dastehen, aber nicht wenn sie Ergebnis einer Formel
sind:
ich habe in Tabelle2 noch die Zelle D2=C2&B2, da ist der _angezeigte
_Inhalt genau die Adresse der Webseite über die Hilfe von LibreOffice.
Aber der Inhalt wird nicht als Link erkannt.
Wenn ich den gleichen Inhalt direkt als Text eingebe, dann erkennt Calc
das als Link, sichtbar an der blauen Hinterlegung. (Manchmal hat das
nicht gleich geklappt, z.B. war zuerst nur der Text bis vor -support/
hinterlegt, dann habe ich mal die Anführungszeichen dazu getan, dann hat
Calc den ganzen String ohne die Anführunsgzeichen hinterlegt,
Anführungszeichen wieder weg -> ganzer String wie gewünscht hinterlegt.
Der Inhalt des Links entsprach der Hinterlegung.)
Ich nehme daher an, dass die HYPERLINK-Funktion

  1. gebraucht wird, um für Ergebnisse von Formeln auch die Behandlung
     als Hyperlink anzustoßen. Denn es ist schon etwas anderes, in einer
     Zelle bei Eingabe/Änderung des Textes zu prüfen, ob es formal ein
     Link ist, oder das bei allen Zellen mit Formeln bei jeder Berechnung
     zu tun. Ich habe zuwenig Ahnung, was genau alles abläuft, wenn eine
     Zelle geändert wird, um eine Größenordnung des Aufwands im Vergleich
     zum Ändern des Texts einer Zelle abzuschätzen, aber mein Gefühl sagt
     mir, dass es relevant genug ist, dass die Entwickler auf die
     Hyperlink-Prüfung in diesem Fall lieber verzichten, weil ja auch
     große Calc-Dateien möglichst schnell berechnet werden sollen. Da ist
     ein per Formel zusammengesetzter Hyperlink doch ein exotischer
     Ausnahmefall, dafür verlangsamt man nicht die fast 100 % der
     Dateien, die keinen enthalten.
  2. für das Hinzufügen eines Anzeigetexts statt des technischen Links
     benötigt wird, was man ja meistens bevorzugt.

Danke für Deine Ideen dazu.
Mir leuchtet ein, dass es Ressourcen verbraucht, zu erraten, ob etwas
ein Hyperlink ist. Da wird vermutlich ein regulärer Ausdruck im
Hintergrund drüber laufen.
Aber die Funktion HYPERLINK ist ja gerade eine explizite Angabe und da
muss nix geraten werden.
Daher scheidet "Einsparen von Ressourcen" als Motiv aus, das Ergebnis
von HYPERLINK nicht zu transportieren, wenn auf diese Zelle Bezug
genommen wird.

Es ist da doch noch ein Unterschied: Calc setzt je nach Inhalt der Zelle einen Typ (value, string, fomula), von dem so manches abhängt. z: die Erkennung eines Hyperlinks: das scheint automatisch zu gehen beim Typ "string", passiert aber nicht beim Typ "formula". Wenn der Typ "formula" ist und die Funktion HYPERLINK enthält, dann wird auch die Funktionalität aktiviert, dass durch Strg+Klick gesprungen werden kann, allerdings nicht die Blaufärbung und graue Hinterlegung (so zumindest bei mir unter WIndows). Ich habe das nur in den Fällen =HYPERLINK(... und =" "&HYPERLINK(... ausprobiert, ob's mit komplizierteren Formalen auch noch geht, weiß ich nicht.
Dein Feld in Blatt1 enthält aber eben nicht die Funktion HYPERLINK, sondern nur den Verweis auf ein anderes Feld, das dises Funktion enthält; dass es auf einem anderen Blatt ist, ist unerheblich, das passiert genauso im gleichen Blatt. Das ist also der gleiche Fall wei oben genannt: wenn der String der Zelle nicht schon eine ordentliche Link-Adresse enthält, wird das nicht erkannt, dann muss die Funktion Hyperlink _in der Zelle_ verwendet werden. DU wirst also zumindest die Hyperlink-Funktion in deinem Blatt1 verwenden müssen, alle anderen Formeln kannst du wahrschein dort raushalten und in Blatt2 abwickeln (was ich auch für das richtige Vorgehen halte).
Wo ich wohl falsch lag, ist, das ich das mit der Berechnung in Zusammenhang brachte, denn ich habe festgestellt, dass das Attribut "Hyperlink" der Zelle gar nicht gefüllt wird. Es scheint eher eine Frage der Darstellung am Bildschirm zu sein, nämlich dass die Zelle die Strg+Klick-Funktionalität zeigt. Aber das zu ermitteln, ist halt auch aufwändiger, wenn man noch den Verknüfungen nachgehen müsste.
Ob sich das jemand mal überlegt hat und bewusst darauf verzichtet hat, weiß ich nicht, vielleicht hat das auch nur noch niemand als möglichen Bedarf erkannt. Aber es ist jedenfalls ein zusätzlicher Schritt, der zu programmieren wäre und beim Darstellen jeder Calc-Tabelle, die Bezüge enthält, etwas zusätzliche Laufzeit bedeutet. Deswegen könnte ich auch verstehen, wenn man sich bewusst gegen eine Implementierung entschiede, weil es ein doch sehr seltener Fall sein wird und die Verwendung der Funktion HYPERLINK im ersten Blatt nicht als großes Manko anzusehen ist.

Für beide Punkte ist es nun aber, wenn meine Annahme stimmt, notwendig,
dass die Formel =HYPERLINK(...) im Blatt1 steht, denn der Inhalt ist das
Ergebnis einer Formel, und in dieser Zelle möchtest du die
Funktionalität haben, dass anstatt des Links ein Text angezeigt wird.

Hier verstehe ich Deine Argumentation noch nicht.

Es ist ja das Wesen eines Bezuges wie "D2=C2", dass er das Ergebnis
von C2 in D2 darstellt.
Das funktioniert bei beliebigen Formeln, die ich bisher ausprobierte
hatte.

Eigentlich ist das oben schon gesagt, aber zur Verdeutlichung: das gezeigte Ergebnis ist das Resultat eines für die Darstellung am Bildschirm ablaufenden Programmlogik, die die Eigenschaften der Zelle abfragt und darauf reagiert, z.B. indem der Inhalt der Zellen aufgrund der Bezüge ermittelt wird. Und was da abläuft, ist also zu programmieren, und wenn etwas nicht passiert, kann es übersehjen oder mit Absicht nicht berücksichtigt worden sein.
Wenn es mit Absicht geschehen wäre, könnte ich für mein Teil die Gründe nachvollziehen.

Beispiel:
A2=1
B2=2
C2=SUMME(A2+B2)
D2=C2

Anzeige D2: 3

Daher wird meine Erwartung gebrochen, weil das Ergebnis von HYPERLINK
im Gegensatz zum Ergebnis von SUMME nicht (vollständig) angezeigt
wird.

Das ist eben der Unterschied: SUMME füllt in der Zelle, wo es in der Formel steht, sowohl value als auch string mit dem Ergebnis, bei HYPERLINK gibt es nichts vergleichbares, das ist ein anderes Kaliber als die Rechen- oder Textfunktionen.

Egal, ich muss mich damit arrangieren.
Ich war nur neugierig auf das Motiv der Entwickler.

Andreas

Gruß

Gerhard

Gerhard Weydt schrieb:

ich war ein paar Tage unterwegs, deshalb kommt mein Nachtrag erst jetzt

Macht doch gar nix :slight_smile: Ist aber nett, dass Du es erwähnst!

>> vorab: deine https://example.tld/ funktioniert auch nicht, wenn ich es
>> aus deiner Mail aus durch Klick aus oder direkt im Browser aufrufe. Nimm
>> also lieber etwas anderes zum Testen,
> "example.tld" ist ein reiner Platzhalter.
> Es wird im Browser aufgerufen, das genügt zum Testen.
>
> Ich hatte mir mal gemerkt, dass es als gute Praxis gilt zum Testen
> keine existierende Domain zu missbrauchen.
Da stimme ich dir zu, der Punkt bei mir ist nur, dass ich beidem von dir
angegebenen Link gar keine Antwort kriege, wenn ich ihn im Browser
angebe,

Hier verstehe ich noch nicht was Du meinst.
Es geht doch beim Testen eines Hyperlinks in Calc nur darum, ob Calc
den URL an einen Browser übergibt.
Wenn danach der URL in der Browseradressleiste steht ist alles OK.

Dass der Browser anzeigt, dass er die "Seite nicht findet" spielt doch
keine Rolle. Aber vielleicht missverstehe ich Dich.

>> Ich stelle aber fest, dass Calc Webadressen normalerweise erkennt, wenn
>> sie einfach als Text dastehen, aber nicht wenn sie Ergebnis einer Formel
>> sind:
>> ich habe in Tabelle2 noch die Zelle D2=C2&B2, da ist der _angezeigte
>> _Inhalt genau die Adresse der Webseite über die Hilfe von LibreOffice.
>> Aber der Inhalt wird nicht als Link erkannt.
>> Wenn ich den gleichen Inhalt direkt als Text eingebe, dann erkennt Calc
>> das als Link, sichtbar an der blauen Hinterlegung. (Manchmal hat das
>> nicht gleich geklappt, z.B. war zuerst nur der Text bis vor -support/
>> hinterlegt, dann habe ich mal die Anführungszeichen dazu getan, dann hat
>> Calc den ganzen String ohne die Anführunsgzeichen hinterlegt,
>> Anführungszeichen wieder weg -> ganzer String wie gewünscht hinterlegt.
>> Der Inhalt des Links entsprach der Hinterlegung.)
>> Ich nehme daher an, dass die HYPERLINK-Funktion
>>
>> 1. gebraucht wird, um für Ergebnisse von Formeln auch die Behandlung
>> als Hyperlink anzustoßen. Denn es ist schon etwas anderes, in einer
>> Zelle bei Eingabe/Änderung des Textes zu prüfen, ob es formal ein
>> Link ist, oder das bei allen Zellen mit Formeln bei jeder Berechnung
>> zu tun. Ich habe zuwenig Ahnung, was genau alles abläuft, wenn eine
>> Zelle geändert wird, um eine Größenordnung des Aufwands im Vergleich
>> zum Ändern des Texts einer Zelle abzuschätzen, aber mein Gefühl sagt
>> mir, dass es relevant genug ist, dass die Entwickler auf die
>> Hyperlink-Prüfung in diesem Fall lieber verzichten, weil ja auch
>> große Calc-Dateien möglichst schnell berechnet werden sollen. Da ist
>> ein per Formel zusammengesetzter Hyperlink doch ein exotischer
>> Ausnahmefall, dafür verlangsamt man nicht die fast 100 % der
>> Dateien, die keinen enthalten.
>> 2. für das Hinzufügen eines Anzeigetexts statt des technischen Links
>> benötigt wird, was man ja meistens bevorzugt.
> Danke für Deine Ideen dazu.
> Mir leuchtet ein, dass es Ressourcen verbraucht, zu erraten, ob etwas
> ein Hyperlink ist. Da wird vermutlich ein regulärer Ausdruck im
> Hintergrund drüber laufen.
> Aber die Funktion HYPERLINK ist ja gerade eine explizite Angabe und da
> muss nix geraten werden.
> Daher scheidet "Einsparen von Ressourcen" als Motiv aus, das Ergebnis
> von HYPERLINK nicht zu transportieren, wenn auf diese Zelle Bezug
> genommen wird.
Es ist da doch noch ein Unterschied: Calc setzt je nach Inhalt der Zelle
einen Typ (value, string, fomula), von dem so manches abhängt. z: die
Erkennung eines Hyperlinks: das scheint automatisch zu gehen beim Typ
"string", passiert aber nicht beim Typ "formula". Wenn der Typ "formula"
ist und die Funktion HYPERLINK enthält, dann wird auch die
Funktionalität aktiviert, dass durch Strg+Klick gesprungen werden kann,
allerdings nicht die Blaufärbung und graue Hinterlegung (so zumindest
bei mir unter WIndows). Ich habe das nur in den Fällen =HYPERLINK(...
und =" "&HYPERLINK(... ausprobiert, ob's mit komplizierteren Formalen
auch noch geht, weiß ich nicht.
Dein Feld in Blatt1 enthält aber eben nicht die Funktion HYPERLINK,
sondern nur den Verweis auf ein anderes Feld, das dises Funktion
enthält; dass es auf einem anderen Blatt ist, ist unerheblich, das
passiert genauso im gleichen Blatt. Das ist also der gleiche Fall wei
oben genannt: wenn der String der Zelle nicht schon eine ordentliche
Link-Adresse enthält, wird das nicht erkannt, dann muss die Funktion
Hyperlink _in der Zelle_ verwendet werden. DU wirst also zumindest die
Hyperlink-Funktion in deinem Blatt1 verwenden müssen,

Das ist mir ja klar, dass ich es so tun muss. Mich würde nur
interessieren, ob dieses Verhalten, diese "Sonderlocke" für die eine
einzige Funktion Hyperlink irgendwo formal dokumentiert ist. Denn es
bricht ein sehr übliches und bewährtes ...

alle anderen
Formeln kannst du wahrschein dort raushalten und in Blatt2 abwickeln
(was ich auch für das richtige Vorgehen halte).

... Vorgehen, wie Du ja selber anmerkst.

Aber wir können es einfach so stehen lassen. Hier lesen und schreiben
ja eh keine Entwickler mit, die das aufklären könnten.

Danke auf jeden Fall für Deine Überlegungen zu dem Ganzen.

Grüße
Andreas

Gerhard Weydt schrieb:

vorab: deine https://example.tld/ funktioniert auch nicht, wenn ich es
aus deiner Mail aus durch Klick aus oder direkt im Browser aufrufe. Nimm
also lieber etwas anderes zum Testen,

"example.tld" ist ein reiner Platzhalter.

*NEIN!*

Es ist ein _*/ganz/*_ *schlechter* *Vorschlag*, /irgend/ eine Domain zu
benutzen, nur weil man glaubt(!), sie wäre frei. Selbst wenn sie es
vielleicht /heute/ noch ist, kann sie /morgen/ schon von jemandem
aquiriert werden.

Für Test- oder Beispielzwecke sind bestimmte First- und
Second-Level-Domains reserviert, und die sollte man _gefälligst_ _auch_
_benutzen_.

Welche das sind, und wofür sie gedachtg sind, kann man im Zweifelsfall
in Detail in RFC 2606 nachlesen. Hier ist eine kurze Zusammenfassung::

für reine Testzwecke:
  *.test
um Adressen als eindeutig ungültig zu kennzeichnen (z. B. wenn Gefahr
besteht, sie mit echten zu verwechseln):
  *.invalid
für Beispiele, in z. B. Dokumentationen:
  *.example
  *.example.com
  *.example.net
  *.example.org
um das eigene System zu bezeichnen:
  *.localhost

Mit *.invalid kann man eigentlich nie was falsch machen.

Ich hatte mir mal gemerkt, dass es als gute Praxis gilt zum Testen
keine existierende Domain zu missbrauchen.

Richtig; aber *alle* - außer den o. g. reservierten - *können*
existieren (heute, morgen, übermorgen, ...).

Es ist ja das Wesen eines Bezuges wie "D2=C2", dass er das Ergebnis
von C2 in D2 darstellt.

Aber immer nur den - aktuellen - *Inhalt*, aber nicht das *Format* oder
die *Formel*.

Das funktioniert bei beliebigen Formeln, die ich bisher ausprobierte
hatte.

Nein, funktioniert es nicht. Versuch doch mal, mittels

[A1] "X"
[A2] =VERSCHIEBUNG(B1;-1;0)
[A3] "Y"
[A4] =A2

in A4 den Wert "Y" auszugeben; genau das erwartest du nämlich bei der
HYPERLINK-Funktion (ersetze einfach VERSCHIEBUNG durch HYPERLINK ...).

Wolfgang

Wolfgang Jäth schrieb:

Andreas Borutta schrieb:

> "example.tld" ist ein reiner Platzhalter.

Für Test- oder Beispielzwecke sind bestimmte First- und
Second-Level-Domains reserviert, und die sollte man _gefälligst_ _auch_
_benutzen_.

Danke für den Hinweis. Das wußte ich noch nicht.

> Es ist ja das Wesen eines Bezuges wie "D2=C2", dass er das Ergebnis
> von C2 in D2 darstellt.

Aber immer nur den - aktuellen - *Inhalt*, aber nicht das *Format* oder
die *Formel*.
[...]

In diese Richtung hat ja auch schon Gerhard argumentiert.

Wirklich verstanden habe ich euch leider noch nicht. Ich muss mich
noch mit den Wertetypen näher beschäftigen.

Ist in der Doku zu den jeweiligen Funktionen hinterlegt, welche Art
von Ergebnis, welchen Wertetyp sie produzieren?

Gruß
Andreas

Was meinst du mit "Wertetyp"? Es gibt nur Text und Zahl (AFAIK Int64);
und mit welchem der beiden eine Funktion rumhantiert, ergibt sich
eigentlich aus seiner Beschreibung (HYPERLINK hat nix mit Zahlen am Hut,
WURZEL nix mit Texten usw.). Unabhängig davon versucht Calc nach
Möglichkeit (leider nicht immer erfolgreich), nach Bedarf automatisch in
den erforderlichen Typ zu konvertieren.

Wolfgang

Wolfgang Jäth schrieb:

>
>> Aber immer nur den - aktuellen - *Inhalt*, aber nicht das *Format* oder
>> die *Formel*.
>> [...]
>
> In diese Richtung hat ja auch schon Gerhard argumentiert.
>
> Wirklich verstanden habe ich euch leider noch nicht. Ich muss mich
> noch mit den Wertetypen näher beschäftigen.
>
> Ist in der Doku zu den jeweiligen Funktionen hinterlegt, welche Art
> von Ergebnis, welchen Wertetyp sie produzieren?

Was meinst du mit "Wertetyp"?

Du hattest oben "Format" und "Formel" genannt. Ich dachte, damit
meinst Du einen Typ.

Wie auch immer:
Mir ist leider nicht klar geworden, warum der Inhalt bei der Formel
"Hyperlink" nicht transportiert wird.

Ich werde das nochmal sacken lassen, vielleicht leuchtet es mit dann
ein. Euch möchte ich damit nicht weiter belästigen.

Danke für die Hinweise, Wolfgang.

Gruß
Andreas

Hallo Wolfgang, Andreas,

die von Wolfgang verwendete Formulierung "*Inhalt*, aber nicht das *Format* oder die *Formel*" kann zu Missverständnissen führen, weil "Inhalt" nicht klar definiert ist und "Formel" und "Format" zu völlig unterschiedlichen Konzeptionen gehören.
Schon der Begriff "Inhalt" ist problematisch: eine Zelle hat einen "primären" Inhalt (= das, was man im Eingabefeld sieht, wenn man die Zelle ausgewählt hat), der als Typ entweder String = Zeichenkette, Value = Zahlenwert oder Formula = Formal hat.
Weiter hat sie einen "sekundären" Inhalt, der für den Fall, dass der "primäre" Inhalt eine Zahl oder eine Zeichenkette ist, mit dem "primären" übereinstimmt; im Fall einer Formel enthält der "sekundäre" Inhalt das _momentane_ Ergebnis der Formel. (Die verwendeten Begriffe "primär" und "sekundär" stammen von mir und sind nicht allgemein festgelegt, ich brauche einfach eine Unterscheidung).
Dieser zweigesichtige Inhalt wird nun in drei Feldern abgelegt, die den drei genannten Typen entsprechen und auch die genannten englischen Bezeichnungen haben. Was es etwas verwirrend macht, ist, dass nicht nur das dem jeweiligen Typ entsprechende Feld gefüllt ist, sondern mehr oder weniger immer alle drei. Bei einer Formel leuchtet das sofort ein: Aus Gründen der Performanz möchte man das Ergebnis einer Formel, das ja kaskadierend über eventuell x Stufen emittelt wurde, immer gleich zur Verfügung haben und speichert es deshalb in der Zelle, also im Feld Value oder String. In anderen Konstellationen wird auch eventuell doppelt gespeichert, z.B. steht bei Eingabe einer Zeichenkette diese sowohl im Feld String als auch im Feld Formula. (Es gibt auch noch FormulaLocal, das zum Beispiel die Zeichenkette SUMME enthält, wenn Formula SUM enthält, aber das ist für das hiesige Thema unerheblich.)
Warum das so ist, versuche ich jetzt gar nicht zu ergründen, hier vertraue ich darauf, dass die teilweise Redundanz mit guten Gründen eingesetzt wird, immerhin ist das ein zentrales Thema der Tabellenkalkulation.
Ein ganz anderes Thema ist die Formatierung. Die bezieht sich auf den _dargestellten Inhalt_, der ja, s. o., aus unterschiedlichen Feldern gespeist wird. Sie wird bei einem Bezug völlig zu Recht nicht mit übertragen, weswegen wir sie auch gleich aus unserem Thema streichen können.
Es bleibt, einfach weil Wolfgang das in einem Atemzug mit "Format" genannt hat, das Thema der Formel. Aber dass bei einem Bezug der Art C7= F9 in C7 die Formel stehen sollte, die evtl. in F9 steht, erwartet wohl keiner von uns. Sein Punkt war wohl eher, dass irgendwelche Funktionalität, die z.B. von HYPERLINK ausgeht, nur in der Quelle des Bezugs berücksichtigt wird, aber nicht im Ziel, auch wenn der Bezug eine einfache Identifikation von Quelle und Ziel ist.

Gruß

Gerhard

Hallo Gerhard,

Hallo Wolfgang, Andreas,

die von Wolfgang verwendete Formulierung "*Inhalt*, aber nicht das
*Format* oder die *Formel*" kann zu Missverständnissen führen, weil
"Inhalt" nicht klar definiert ist und "Formel" und "Format" zu völlig
unterschiedlichen Konzeptionen gehören.
...

Ersetzte *Inhalt* durch *Wert* im Sinne von "aktueller Wert".

Und wenn man es abstrakt betrachtet, dann ist Wolfgangs Erklärung
möglicherweise nicht 100% präzise, was die programmtechnische Umsetzung
angeht, ansonsten aber völlig korrekt.

Unabhängig davon, was du in eine Zelle eingibst und welche "Assistenten"
dir dabei helfen, hat eine Zelle (mindestens) 3 Eigenschaften:

  - Aktuellen Wert: wobei es nur Zahlen oder Text gibt

  - Eine Berechnungsvorschrift (Formel): die auch leer sein kann
    dann ist der Wert eine Konstante

  - Die Formatierung: Sie gibt an, wie der aktuelle Wert
    angezeigt werden soll und ermöglicht z.B. auch die
    Interpretation eines (Zahlen-)Wertes als Datum/Uhrzeit

Jetzt kann man sich darüber streiten, ob Kommentare zur Formatierung
gehören, oder ob Zahlen-Inhalt bzw. Text-Inhalt getrennte Felder sind,
das ändert aber nicht am Grundkonzept.

Gebe ich z.B. in eine Zelle "=31/7" ein so wird dies zur
Berechnungsvorschrift. Der aktuelle Wert ist dann der (Zahlen-)Wert
"4,42857142..." dem ich mit dem Formatcode "HH:MM:SS" als Zeit
interpretieren kann, so dass "10:17:09" angezeigt wird.

Kopiert man die Zelle und fügt sie an anderer Stelle mit "Inhalte
einfügen" ein, so kann man dort die verschiedenen Eigenschaften der
Zelle (z.T. kombiniert oder getrennt) sehen, die selektiv übertragen
werden können.

Verwendet man Formeln, die sich auf andere Zellen beziehen, so werden in
vielen Fällen eben nur bestimmte Eigenschaften dieser Zellen in die
Berechnung einbezogen. So kann man z.B. eine als Uhrzeit formatierte
Zelle in eine Formel einbeziehen, ohne dass der Wert der Berechnung
automatisch als Uhrzeit dargestellt wird.

Leider ist dieses schlichte Konzept mittlerweile verwässert worden:
Man kann z.B. eine Zelle, die einen _Text_ enthält in einer Rechenformel
verwenden, wenn dieser Text automatisiert in eine Zahl gewandelt werden
kann:

A1="12,3" [Text]
A2=1,2 [Zahl]

=A1+A2 ergibt 13,5 als Zahl, weil sich der Text in A1 als die Zahl 12,3
interpretieren lässt. Eigentlich müsste das eine Fehlermeldung geben.

Wie gesagt: Es geht um das abstrakte Konzept hinter praktisch jeder
Tabellenkalkulation, das sich seit den Zeiten von "Visicalc" oder
"Lotus123" nicht wesentlich verändert hat.

Gruß,
Michael

Jein; was ich meinte, ist, dass die Färbung des Links und die
Funktionalität, beim Daraufklicken extern einen Link auf zu rufen usw.,
dass das alles lediglich /Attribute/ sind, genau so wie Text- oder
Hintergrundfarbe, oder Fett, usw. Aber das ist kein /Inhalt/ der Zelle,
kein /Wert/. Bei Verweisen übertragen wird aber nur das, was du
sekundären Inhalt nennst, ohne jegliche Attribute; eben der
/unformatierte/ Ausgabewert. Insofern stimme ich mit dir überein.

Wolfgang

Wolfgang Jäth schrieb:

Bei Verweisen übertragen wird aber nur das, was du
sekundären Inhalt nennst, ohne jegliche Attribute; eben der
/unformatierte/ Ausgabewert. Insofern stimme ich mit dir überein.

Mit dem Begriff "Attribut" oder "sekundärer" Inhalt kann ich etwas
anfangen.

Herzlichen Dank an Dich,Wolfgang, an Gerhard und Michael zur Erhellung
und Vertiefung dieses Themas.

Ich werde mich also damit arrangieren, dass ich in einer Zieltabelle,
die per Formel zusammengesetzte Hyperlinks und zusammengesetzte
Linktext enthalten soll, die Funktion HYPERLINK in genau dieser
Zieltabelle statt in einer Hilfstabelle ausführen muss.

Herzliche Grüße
Andreas