Erstellen Sie viele Zellen mit Hyperlinks mit lesbarem Textinhalt anstelle der wörtlichen URL

359
ardnew

Im Allgemeinen versuche ich, eine MS Excel-Tabelle mit Hunderten von Zeilen mit verwandten URLs zu erstellen. Column Asollte lesbaren Text enthalten, der Zellentext ist jedoch mit einer HTTP-URL verlinkt. Column Bsollte eine wörtliche Klartext-HTTP-URL enthalten (diese kann oder kann nicht mit ihrer scheinbaren URL verlinkt sein, spielt dabei keine Rolle). Column Cund haben einfachen Klartext-Inhalt. Die Tabelle würde folgendermaßen aussehen:

| Produkt A | http: // host: 1234 / svn / product_a | andere Daten ... |
| Produkt B | http: // host: 1234 / svn / product_b | andere Daten ... |
| Produkt C | http: // host: 1234 / svn / product_c | andere Daten ... |

Beachten Sie, dass die Hyperlink-URL und die Klartext-URL in Beziehung stehen, sich jedoch unterscheiden.

Ich habe zur Zeit einen bash+ sedSkript diese erschöpfende Liste von Repositorys mit einfacher regex Substitution für die URLs zu erzeugen, aber ich kann keine MS Excel - Dokumente finden, wie darzustellen in Klartext eine Zelle mit verlinkte Text (ideal für copy-Einfügen in die Kalkulationstabelle).

Wenn ich eine Art Markup wie HTML generieren würde, wäre das trivial; Leider gibt es jedoch zusätzliche Spalten, die für andere Nichtentwickler verfügbar sein müssen, damit sie regelmäßig bearbeitet werden können.

Gibt es eine Möglichkeit, eine Column AZelle mit nur in die Zelle kopiertem Klartext zu erstellen ?

Tut mir leid für den schrecklichen Titel, ich kenne MS Excel oder dessen Jargon nicht

2

1 Antwort auf die Frage

1
Rey Juna

Wenn Spalte B bereits die URL enthält und Spalte A Ihre Klartext-URL enthält, versuchen Sie es in Zelle C1. (Dies setzt voraus, dass Sie eine Spalte C für diese Verwendung einfügen können, ohne Ihre Organisation zu stören. Die andere Option besteht darin, den Klartextnamen in jede Formel in Spalte A einzugeben.)

=HYPERLINK(B1,A1)

Die Parameter für HYPERLINKsind, (link_location,[friendly_name])wo friendly_name optional ist.

AKTUALISIEREN

ANMERKUNG: Der folgende Ansatz funktioniert nur, wenn der Anzeigename mit dem nach dem letzten Text /in Ihrer URL übereinstimmen soll.

Angenommen, Ihre Daten beginnen in Zeile 1, fügen Sie diese in die Zelle ein A1und ziehen Sie sie nach unten.

=HYPERLINK(B1,IFERROR(RIGHT(B1,LEN(B1)-FIND("$",SUBSTITUTE(B1,"/","$",LEN(B1)-LEN(SUBSTITUTE(B1,"/",""))))),B1))

Nun zur Erklärung!

LEN(B1)-LEN(SUBSTITUTE(B1,"/","")

SUBSTITUTEParameter sind dort, (text,old_text,new_text,[instance_num])wo Instanznummer optional ist.

SUBSTITUTEErsetzt alle /Zeichen in der Zeichenfolge durch eine leere Zeichenfolge, da wir keinen Parameter für die Instanz_Num bereitgestellt haben. Mit erhalten LENwir die Länge der Zeichenkette minus der Länge der Zeichenfolge ohne die /, was uns die Häufigkeit angibt, die /auftritt, was 4 für Ihr OP wäre.

SUBSTITUTE(B1,"/","$",4)

In diesem Fall verwenden wir den optionalen vierten Parameter (ich verwende die Nummer selbst aus dem vorherigen Ergebnis hier vom OP nur für dieses Beispiel). Dadurch wird nur das letzte Vorkommen von /durch ein Tag ersetzt $, bei dem es sich um ein Zeichen handeln sollte, das niemals in Ihrer Zeichenfolge enthalten wäre. Ihr OP-Ergebnis wäre " http: // host: 1234 / svn $ product_a".

LEN(B1)-FIND("$","http://host:1234/svn$product_a") 21

FINDParameter sind (find_text,within_text,[start_num])und der optionale Parameter start_num muss nicht verwendet werden, da, wenn wir das richtige Tag ausgewählt haben, nur eines vorhanden ist. (Auch hier verwende ich nur für dieses Beispiel den String des vorherigen Ergebnisses vom OP).

Die Länge der Zeichenfolge (30) minus der Position des Tags (21) gibt die Länge des Textes nach dem letzten /(9) an.

RIGHT gibt Ihnen die Textzeichenfolge, die die rechten neun Zeichen der Zeichenfolge enthält.

IFERRORschließt dies in eine Fehlerprüfung ein. Wenn kein Fehler vorliegt, erhalten Sie das Ergebnis der Berechnung. Wenn diese Fehler, z. B. no /in der Zeichenfolge für die Funktionen FINDund SUBSTITUTE, mit denen gearbeitet werden kann, wird Text zurückgegeben B1.

Schließlich erstellt die HYPERLINKFunktion aus der URL einen Link B1mit dem Namen friendly_name, der sich aus den obigen Berechnungen ergibt.

Auf diese Weise, die letzten Zeichen nach dem Trennzeichen zu finden, habe ich nicht herausgefunden, aber es ist überall vorhanden und ich habe es schon so lange gebraucht, dass ich nicht weiß, wem ich es zuschreiben soll!

(Nachdem ich darüber nachgedacht hatte, musste ich es nur hinzufügen :) Hoffe, es hilft.)

Danke für das Detail, demonstriert genug Funktionalität, die ich meiner Meinung nach an meine Sachen anpassen kann. Ich werde es aktualisieren, wenn ich Ergebnisse habe ardnew vor 6 Jahren 0
Ja, ich wäre gespannt auf Ihre Umsetzung. Rey Juna vor 6 Jahren 0