Один из способов сделать это - установить скрипт onEdit
, как показано ниже. Это немного грубая сила, но ее очень легко понять и изменить.
В приведенном ниже примере я предположил, что выпадающий список находится в B7
(выбран случайным образом). Это строка 7, столбец 2.
В зависимости от того, в каком месяце фокус «jan» - «Dec» переключается на B21
на B32
соответственно.
Вы можете редактировать код, куда бы вы ни поместили раскрывающийся список и куда хотите изменить фокус.
function onEdit(event){
var sheet = SpreadsheetApp.getActiveSheet();
var map ={'Jan':'B21',
'Feb':'B22',
'Mar':'B23',
'Apr':'B24',
'May':'B25',
'Jun':'B26',
'Jul':'B27',
'Aug':'B28',
'Sep':'B29',
'Oct':'B30',
'Nov':'B31',
'Dec':'B32'
};
// make sure event is coming from the drop-down
if (event.range.getRow() == 7 && event.range.getColumn() == 2 )
{
var value = event.range.getValue();
range=sheet.getRange(map[value]);
sheet.setActiveRange(range);
}
}
РЕДАКТИРОВАТЬ: Код обновлен с конструкции if else
до конструкции "associative array"
(реализован как JS-объект, инициализированный парами ключ: значение) на основе превосходных комментариев от соответствующим образом названного "TheMaster".