2016-02-05 8 views
9

Skopiowałem ze strony internetowej serię hiperłączy i wkleiłem je w arkuszu google. Wartości pojawiają się jako tekst połączony, a nie formuły hiperłączy i są nadal poprawnie połączone. Dla każdego wiersza próbuję WYCIĄGNIĘĆ URL TYLKO (nie przyjazny tekst) i wstawić go do sąsiedniej kolumny. Jak można to osiągnąć za pomocą formuły?Jak wyodrębnić URL z linku w Arkuszach Google za pomocą formuły?

Na przykład:

=SOMEFUNCTION(cellThatHoldsLink, returnedURLOnly) 

This and similar scenarios nie mają zastosowania, ponieważ wklejone dane nie są wzory. Przyjmuję rozwiązanie skryptowe (GAS) lub dowolne rozwiązanie tego problemu, ale wolałbym, żeby można to było zrobić za pomocą formuły. Znalazłem dziesiątki skryptów manipulacyjnych HYPERLINK, ale nic na ten konkretny scenariusz, ani nawet jak uzyskać dostęp do właściwości, która trzyma ten adres URL. Dzięki.

+0

Podaj kilka rzeczywistych przykładów zawartości w komórkach. Wtedy ktoś może przetestować wyjście. –

+0

Sandy, oto przykład: https://docs.google.com/spreadsheets/d/1KksyZwP4CBfmX8YN7BK0jcNY3iFvXYZTUZQnA6TfT0g/edit#gid=0 – iamtoc

+0

czy w tym miejscu wkleiłeś niektóre linki lub hiperłącza, a następnie skasowałeś je i wkleiłeś? –

Odpowiedz

0

Można użyć ImportXml ciągnąć w całej tabeli danych i jego zawartość z tym:

=IMPORTXML(A1,"//tr") 

obok niego wjechaliśmy w struny URL w tagach

=IMPORTXML(A1,"//tr/td[1]/a/@href") 

i wreszcie złączyła ciągi z oryginalną domeną, aby utworzyć hiperlinki:

+0

Próbowałem tego, gdzie właśnie miałem URL w komórce, bez formuły hiperłącza, ale tak komórka jest linkiem. Wkleiłem powyżej do nowego arkusza i zaimportował wszystkie dane, ale tylko z ciągiem "url", a nie linkiem. Mały przykład komórek znajduje się tutaj https://docs.google.com/a/fuzion.co.nz/spreadsheets/d/1amgIB30WpCLqT0s_EDgw3w8DxkTa4OlMSFKgCBZZHn0/edit?usp=sharing –

+0

oop hit "dodaj komentarz" wkrótce. Czy uważasz, że powyższe powinien zadziałać w tej sytuacji: –

+0

nie udostępniasz dokumentu doc ​​@ petednz-fuzion –

2

Jeśli chcesz korzystać z Google Apps Script, użyj poniższej funkcji, aby uzyskać hiperłącze z tekstu. Po przejściu przez komórkę powinieneś wysłać ją z podwójną kwotą. Np .: =GETURL("A4"), aby uzyskać hiperłącze A4.

function GETURL(input) { 
    var range = SpreadsheetApp.getActiveSheet().getRange(input); 
    var url = /"(.*?)"/.exec(range.getFormulaR1C1())[1]; 
    return url; 
} 

Patrz na przykład: here.

Edytuj: Zignoruj ​​tę odpowiedź. Działa to tylko wtedy, gdy adres URL jest połączony w komórce.

+0

To przyniesie pracę jeśli spojrzeć na jego przykład - linki nie były formułami hiperłączy - jest to dziwny tekst z linkami, ale brak widocznej "formuły linku" –

+0

Ohh! Rozumiem! przepraszam, że to nie zadziała dla jego przykładu. –

+1

@iamtoc i skomentowałem powyżej, jeśli udostępnisz przykładowy link, z którego przechwycisz adresy URL od i pokaże ci formułę, aby automatycznie przeciągnąć wszystkie te adresy URL za pomocą xpath –

1

znalazłem odpowiedzi, która działa on Google Groups (Troy):

  1. opublikować swój arkusz (skopiuj adres URL)
  2. Utwórz nowy arkusz i użyć funkcji ImportXml (zastąpi URL z adresem URL można uzyskać w punkcie 1)
  3. Dostaniesz dane - można następnie skopiować i wkleić wartości, gdzie trzeba je
  4. Cofanie publikacji arkusz (jeśli nie chcesz to publiczny)

można zrobić przez Script, ale teraz nie mam czasu. :)

Powiązane problemy