The description of the HYPERLINK function (at Spreadsheet Functions ) does not clearly state how the URL is constructed, though the example =HYPERLINK("http://www.";"Click ") & "example.org" gives a hint.
Behaviour
HYPERLINK within a larger formula
Experimentation leads me to believe that:
- As documented in the Help, in a formula
HYPERLINKreturned its second argument (CellValue) if supplied, and otherwise its first. - The URL is constructed by interpreting the formula as though
HYPERLINKreturned its first argument ("URL"); the result must be a string- If the resulting value is numeric, the result is invalid (perhaps unspecified).
- This happens with the formula
=HYPERLINK("http://www.example.org",5)+10. - I observe that the URL is shown as
NaNin the mouseover. - If I click it on Linux under KDE, something called
xdg-openstarts something calledkde-open5(apparently a.k.a. the KIO Client), which tries to open a file whose name is the full path name of my document with/NaNappended.
- This happens with the formula
- If the resulting value is numeric, the result is invalid (perhaps unspecified).
Link access with the keyboard
The use of the keyboard as described does not work for me in LO 7.6.4.1 under KDE on Open Suse Linux. When editing the formula =HYPERLINK("http://www.example.org"), Shift-F10 does not bring up a menu, regardless of whether the cursor is before =, HYPERLINK, " or http:. The object menu key does not do so either.
Improvements to Help
If this is correct, I believe the Help should say in the first paragraph:
URLspecifies the link target, or part of it ifHYPERLINKis used within a larger formula.
and have another paragraph under Syntax saying:
If
HYPERLINKis used within a larger formula, the link target is composed by evaluating the formula as thoughHYPERLINKreturnedURL. The result should be a string; otherwise the behaviour is unspecified.
The example =HYPERLINK("http://www.";"Click ") & "example.org" could be replaced or amplified by another example (is there a more plausible use case?):
="https:"&HYPERLINK("//www.nefarious-scoundrel.com","example.org")&"/12345", displayshttps:example.org/123145and links to http://www.nefarious-scoundrel.com/12345 . This is bad practice.
It would also be better to replace http: by https: in all examples.