google-sheets - 依赖下拉样式,过滤总和高级年度预算跟踪器
问题描述
我一直在尝试寻找要使用的 Dependent 下拉脚本,但我找不到一个有效的。我没有这个想法。
我需要帮助的事情
- 我正在尝试在我的预算表中添加一个部分,当您从数据验证下拉列表中选择一个类别时,下一个单元格将有一个基于刚刚选择的类别的子类别下拉列表。在“EJan”、“EFeb”等工作表中。
- 我想在“EJan”中添加与子类别相关的所有内容,并将其总和粘贴到所需的子类别中,并将月份粘贴到“费用”中。
解决方案
我经常使用Jason Jurotich的这个脚本。
你可以在他的 YouTube 频道的描述中找到它:
在 GOOGLE 电子表格中的动态相关下拉列表
请看一下我准备并使用上述脚本的工作表副本。
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);
//}
}
推荐阅读
- sql - 在不断增长的表中,了解是否至少存在一条具有两个搜索(WHERE)条件的行的最快方法是什么?
- android - 如何使用谷歌广告管理器通过移动应用获利
- sql - 在 SQL 中的部分字符串上使用 levenshtein
- snowflake-cloud-data-platform - 未计划 CRON 的雪花任务
- javascript - 使用 React 在 Three.js 中将 SpriteMaterial 的“粒子”变为圆形或圆形
- laravel - 如何使用 Laravel 7.0 将值从路由传递到控制器?
- java - 我无法使用 Selenium 浏览 Edge
- composer-php - 无法初始化全局作曲家:mac /Sites
- python - 无法使用命令 pip install Faker 安装 Faker
- c# - .NET Core 输出格式化程序顺序