2016-02-05 6 views
9

Я скопировал с веб-сайта ряд гиперссылок и вставил их на листе Google. Значения отображаются как связанный текст, а не гиперссылки, и все еще связаны правильно. Для каждой строки я пытаюсь извлечь URL ТОЛЬКО (не дружественный текст) и вставить его в соседний столбец. Как это можно осуществить с помощью формулы?Как извлечь URL из ссылки в Google Таблицах, используя формулу?

Например:

=SOMEFUNCTION(cellThatHoldsLink, returnedURLOnly) 

This and similar scenarios не применяются, поскольку вставленные данные не являются формулами. Я приму решение для скрипта (GAS) или любое решение в этом отношении, но предпочел бы, если бы это можно было сделать с помощью формулы. Я нашел десятки скриптов манипуляции HYPERLINK, но ничего в этом конкретном сценарии или даже о том, как получить доступ к свойству, содержащему этот URL-адрес. Благодарю.

+0

Предоставьте пару реальных примеров содержимого в ячейках. Затем кто-то может проверить результат. –

+0

Сэнди, вот пример: https://docs.google.com/spreadsheets/d/1KksyZwP4CBfmX8YN7BK0jcNY3iFvXYZTUZQnA6TfT0g/edit#gid=0 – iamtoc

+0

Вы либо вставляете ссылки или гиперссылки в это место, а затем удаляете и вставляете их снова? –

ответ

0

Вы можете использовать ImportXml тянуть в общую таблицу данных и его содержимое с этим:

=IMPORTXML(A1,"//tr") 

рядом с ним мы остановились в строках URL-адрес в тегах

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

и, наконец, объединил строки с исходным доменом для создания ваших гиперссылок

=ARRAYFORMULA("http://www.bnilouisiana.com/"&INDIRECT("A2:A"&COUNTA(A2:A))) 
+0

Я пробовал это, когда у меня только что был URL-адрес в ячейке, без гиперссылки, но да, ячейка - это ссылка. Я вставил выше на новый лист и импортировал все данные, но только с строкой «url», а не ссылкой. Маленький пример ячеек здесь https://docs.google.com/a/fuzion.co.nz/spreadsheets/d/1amgIB30WpCLqT0s_EDgw3w8DxkTa4OlMSFKgCBZZHn0/edit?usp=sharing –

+0

oop hit "добавить комментарий" в ближайшее время. Как вы думаете, выше должен работать в этой ситуации? –

+0

вы havent поделились с doc @ petednz-fuzion –

2

Если вы счастливы использовать скрипт Google Apps, используйте функцию ниже, чтобы получить гиперссылку из текста. Когда вы передаете ячейку, вам следует отправить двойную кавычку. Например: =GETURL("A4"), чтобы получить гиперссылку A4.

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

См. Например, here.

Редактировать: Игнорировать этот ответ. Это будет работать, только если url связан в ячейке.

+0

Это не будет работать если вы посмотрите на его пример - ссылки не были формулами гиперссылок - это странно просто текст со ссылками, но без видимой «формулы ссылки» –

+0

Ох! понял! извините, это не сработает для его примера. –

+1

@iamtoc, о котором я прокомментировал выше, если вы поделитесь ссылкой с примерами, где ваш захват URL-адресов из i покажет вам формулу, чтобы автоматически просто вытащить все эти URL-адреса через xpath –

1

нашел ответ, который работает on Google Groups (Трой):

  1. Publish таблицы (скопировать URL)
  2. Создать новую таблицу и использовать функцию ImportXml (заменить URL с URL вы получите в шаге 1)
  3. вы получите данные - то вы можете скопировать и вставить значения, где нужны их
  4. таблицу Отменить публикацию (если вы не хотите, общественности)

может быть сделаны Script, но у меня нет времени. :)

Смежные вопросы