Зависимый выпадающий стиль, отфильтрованная сумма расширенный годовой бюджет трекер - PullRequest
0 голосов
/ 03 февраля 2020

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

Вещи, в которых мне нужна помощь с

  1. Я пытаюсь внести часть в свой бюджет, где при выборе категории из выпадающего списка проверки данных В следующей ячейке будет раскрывающийся список подкатегорий, основанный на только что выбранной категории. В листах "EJan", "EFeb" и др. c.
  2. я хочу добавить все, что относится к подкатегории в "EJan", и вставить сумму в нужную подкатегорию и месяц в " расходы. "

Вот ссылка на копию моей электронной таблицы Google

1 Ответ

1 голос
/ 03 февраля 2020

Я довольно часто использую этот сценарий от Джейсона Джуротича .
. Вы можете найти его в описании на его канале YouTube:
DYNAMI C ЗАВИСИТЕ ОТКЛЮЧИТЬ СПИСОКИ ВНУТРИ В GOOGLE SPREADSHEETS

Пожалуйста, посмотрите на копию вашего листа, который я подготовил и использую вышеупомянутый скрипт.

https://docs.google.com/spreadsheets/d/1JvJunjYBYdgRY66Nx75UBjHjGDiYL0KascwV3YGuGRs/edit?usp=sharing


Это точная копия вышеупомянутого сценария:

function depDrop_(range, sourceRange) {
    var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sourceRange, true).build();
    range.setDataValidation(rule);
}

function onEdit() {
    var aCell = SpreadsheetApp.getActiveSheet().getActiveCell();
    var aColumn = aCell.getColumn();
    if (aColumn == 1 && SpreadsheetApp.getActiveSheet()) {
        var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
        var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
        depDrop_(range, sourceRange);
    } else if (aColumn == 2 && SpreadsheetApp.getActiveSheet()) {
        var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
        var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
        depDrop_(range, sourceRange);
    }


    //if (aColumn == 8 && SpreadsheetApp.getActiveSheet()){
    //var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
    //var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
    //depDrop_(range, sourceRange);
    //}
    //else if (aColumn == 9 && SpreadsheetApp.getActiveSheet()){
    //var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
    //var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
    //depDrop_(range, sourceRange);
    //}

}
...