Хотите создать ссылку для ячейки с параметрами, основанными на вводе пользователем

#arrays #google-apps-script #google-sheets #hyperlink

Вопрос:

Как создать ссылку на основе параметров, введенных пользователем для конкретной ячейки?

экс:

ячейка A1: пользовательский ввод «123456» ссылка на ячейку A1: www.abc.com/?id=123456

Комментарии:

1. Как вы получаете пользовательский ввод?

2. Просто набрав номер в ячейке. например, пользователь вводит 123456, ячейка отображает 123456 со ссылкой на www.abc.com/?id=123456

3. @ArmandoNeto, вы хотите получить ссылку, по которой вы ввели строку?

4. Да, например, пользователь вводит 123456, в ячейке отображается 123456 со ссылкой на www.abc.com/?id=123456

5. Это было бы возможно только в сценарии. был бы сценарий для вас вариантом? @АрмандоНето

Ответ №1:

Это самое близкое, что я могу придумать. Если он генерируется исключительно формулой, вы не можете вводить текст в ячейку и ожидать, что он будет иметь другую формулу. Поэтому вам нужно, чтобы ссылки создавались в других ячейках, а входные данные-в других ячейках

Формула:

 =ArrayFormula(if(A2:A<>"",hyperlink("www.abc.com/?id="amp;A2:A),))
 

Формула:

формула

Но с помощью сценария это было бы возможно:

Скрипт:

 function onEdit(e) {
  // if input is in "Sheet1!A2:A" range, convert to link automatically
  if(e.range.getRow() > 1 amp;amp; e.range.getColumn() == 1 amp;amp; e.source.getActiveSheet().getSheetName() == 'Sheet1' amp;amp; e.value != null) {
    e.range.setValue('=hyperlink("www.abc.com/?id='  e.value  '")');
  }
}
 

Вывод сценария:

выход

Комментарии:

1. Да, решение для сценария-это то, что я искал, большое спасибо, приятель. Кстати, где я могу узнать больше об этих сценариях?

2. Привет @ArmandoNeto, вы могли бы попробовать ознакомиться с этими базовыми учебными пособиями . После этого вам просто нужно учиться на собственном опыте и читать документацию Google.

Ответ №2:

пробовать:

 =HYPERLINK("www.abc.com/?id="amp;A1, A1)
 

введите описание изображения здесь

для использования arrayformula:

 =INDEX(IF(A1:A, HYPERLINK("www.abc.com/?id="amp;A1:A, A1:A), ))
 

введите описание изображения здесь