Необходимо создать динамическую гиперссылку c или изменить ячейку удаленно. - PullRequest
0 голосов
/ 16 апреля 2020

Я создал электронную таблицу Google. У него есть мастер-лист, и я сделал функцию запроса, чтобы получить данные для моей команды. Моя команда должна обновить столбец с комментариями. Но извлеченные данные не могут быть изменены.

Теперь мне нужно одно из решений: 1. Удаленно изменить исходную ячейку в мастер-листе. 2. Установить динамическую c гиперссылку на ячейку, которую необходимо обновить

.

Вот то, что я хотел бы для варианта №2 в моей электронной таблице Google - Пример Excel, который я нашел в inte rnet

1 Ответ

0 голосов
/ 16 апреля 2020

Решение

Я считаю, что это то, что вы искали (если нет, пожалуйста, уточните немного больше вашего вопроса): вы хотите создать выпадающий список, в зависимости от имени на нем ссылка рядом с ним изменится соответственно, чтобы направить вас к указанной ячейке c этого человека на другом листе.

Если это так, то здесь приведен упрощенный фрагмент кода, который достигнет этого с помощью поясняющих комментариев:

function onEdit() {
  // Get the two sheets
  var ss1 = SpreadsheetApp.getActive().getSheetByName('Sheet1');
  var ss2 = SpreadsheetApp.getActive().getSheetByName('Sheet2');
  
  // Create an array for the dropdown list
  var names = ['Ramon', 'Jose', 'Pepito'];
  
  // Build the dropdown data validation
  var dropdown = SpreadsheetApp.newDataValidation().requireValueInList(names).build();
  // Set the dropdown to your desired ccell and attach the validation to that cell
  var dropdownCell = ss1.getRange('A1');
  dropdownCell.setDataValidation(dropdown);
  
  // For every case of your dropdown (for every name) create an if condition so that the link on the side keeps changing
  // accordingly to who is set on the drop down (i.e repeat this step for the rest of the names).
  if(dropdownCell.getValue()=='Ramon'){
    // Set the vale of B1 to the hyperlink formula (you need to get your linked sheet id and the range or cell you want to link it to.
    ss1.getRange("B1").setValue('=hyperlink("#gid='+ss2.getSheetId()+'&range='+ss1.getRange('B112').getA1Notation()+'", "Click to jump to Sheet 2")');
  }
}

Для этого я использовал гиперссылку формулы и инструмент скриптов приложений для создания проверки данных и установив его на указанную c ячейку . Более того, использование onEdit() позволит вам ловить мгновенные изменения в выпадающей ячейке.

Надеюсь, это вам помогло. Дайте мне знать, если вам нужно что-то еще или вы что-то не поняли. :)

...