如何使用 Google 表格中多个选项卡的值创建电子表格下拉列表

2024-05-01

想象一下电子表格 Google Spreadsheet。

鉴于我有多个选项卡,每个选项卡都有一个名称。可能有 60-80 个选项卡。

我想在首页上创建一个下拉菜单,在其中可以看到工作簿中每个选项卡的 。

它可能看起来像这样:



   ┌────────────────────────────────────────────────────┐
   │                                                    │
   │                                                    │
   │           Selected                                 │
   │           sheet     Value                          │
   │          ┌──────▼  ┌─────────────┐ ┌──────┐        │
   │          │sheet1│  │             │ │ Save │        │
   │          │sheet2│  └─────────────┘ └──────┘        │
   │          │sheet3│                                  │
   │          └──────┘                                  │
   │                                                    │
   │                                                    │
   │                                                    │
   ├───────────┬────────┬───────┬─────────┬───┬───┬──┬──┤
   │ Frontpage │ sheet1 │sheet2 │ sheet3  │ … │ … │… │… │
   └───────────┴────────┴───────┴─────────┴───┴───┴──┴──┘

显然,我可以构建一个 Web 应用程序并使用一个真实的数据库,但我想探索仅使用电子表格或类似的东西可以实现什么。

如何根据工作簿中的所有选项卡名称创建下拉列表?目前这可能吗?


下拉列表

要根据工作簿中的所有选项卡名称创建下拉列表,请尝试

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var sh = ss.getSheetByName('FrontPage')
  var sheets = []
  ss.getSheets().forEach(function(sheet){if (sheet.getName()!='FrontPage') {sheets.push(sheet.getName())}})
  var validationRule = SpreadsheetApp.newDataValidation().requireValueInList(sheets).build()
  sh.getRange('B2').clearContent().clearDataValidations()
  sh.getRange('B2').setDataValidation(validationRule); 
}

将值报告给选定的选项卡

如果您想报告所选工作表的 A1 范围内的值,请尝试

function onEdit(e){
  var sh = e.source.getActiveSheet();
  var cel = e.source.getActiveRange();
  if (sh.getName()=='FrontPage' && cel.getA1Notation()=='D2'){
    try{
      SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sh.getRange('B2').getValue()).getRange('A1').setValue(e.value)
    }
    catch(e){}
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Google 表格中多个选项卡的值创建电子表格下拉列表 的相关文章

随机推荐

  • 将向量传递到 Intel SGX 中的 enclave

    我有一个vector
  • UIScrollView 在 vi​​ewwillappear 中设置 contentoffset 不起作用

    我想知道是否可以在 viewwillappear 方法中为 uiscrollview 设置 contentoffset void viewWillAppear BOOL animated self scrollView setContent
  • jQuery 性能:hide() 与 is(':visible') - 哪个更快?

    我有多个下拉框 当单击链接时它们会下降 如果同时打开 这些盒子就有可能重叠 查询元素是否可见是否更快 box is visible 然后如果该框可见则将其隐藏 box hide 或者只是告诉它无论如何都要隐藏 为了便于论证 我们假设 50
  • Swift - 从 UnsafePointer 长度转换为 String

    我考虑了很多similar问题 但仍然无法让编译器接受这一点 Socket Mobile API 在 Objective C 中 将 ISktScanDecodedData 传递到 Swift 中的委托方法中 数据可能是二进制的 我想这就是
  • Bash:在新终端中执行带有参数的命令[重复]

    这个问题在这里已经有答案了 所以我想在 bash 中打开一个新终端并执行带参数的命令 只要我只采取类似的东西ls作为命令它工作正常 但是当我采取类似的东西时route n 所以带参数的命令不起作用 代码 gnome terminal win
  • 如何在 Ubuntu 9.10 上安装 R 软件包 rgl? [复制]

    这个问题在这里已经有答案了 可能的重复 安装 rgl 时出现问题 https stackoverflow com questions 7473067 problem installing rgl 我正在尝试在 Ubuntu 9 10 上安装
  • 可以在 Vue 模板中渲染 VNode 吗?

    我遇到的情况是 我有一个渲染函数将一些数据传递到作用域槽 作为此数据的一部分 我想包含一些由渲染函数构造的 VNode 这些 VNode 可以选择由作用域插槽使用 无论如何 在模板中编写作用域槽以输出收到的原始 VNode 时是否存在 Vu
  • Git checkout 分支从其他分支留下目录树

    我有一个branch2 其源是branch1 并重命名了源自branch1 的目录 当签出branch1时 重命名的目录仍然存在 但没有标记为未暂存的修改 重命名的目录当然不会作为branch1 上的提交出现 为什么会出现这种情况 上述目录
  • 如何在代码中设置 DataGridTextColumn 的绑定?

    我正在使用 CodePlex 的工具包 DataGrid 我正在代码中生成列 我怎样才能设置相当于 绑定名字 在代码中 或者 我怎样才能设置值 这就是我需要做的 不一定要绑定它 我只想要数据网格单元格中模型属性的值 DataGridText
  • IE9 SmartScreen 过滤器警告

    我的公司开发了一款 IT 基础设施管理软件 我们主要在乌克兰使用该软件 我们的客户端应用程序安装程序可以从我们的 FTP 服务器下载 每当有人从我们的 FTP 下载 Install msi 时 IE9 都会告诉用户该软件包不常被下载 因此可
  • 具体5-如何在php中通过ajax获取上传的文件

    我正在尝试通过ajax上传多个文件 但我不知道如何在PHP中获取上传的文件 我发送给他们 var attachments attachment file var post data new FormData if attachments l
  • .Net Framework 4.8 和 .Net 5 之间的垃圾收集行为差异

    为了在已经发生很多次的地方检测潜在的内存泄漏 我使用了如下所示构建的测试 主要思想是拥有一个实例 不再引用它并让垃圾收集器收集它 我不想关注这是否是一种好的技术 在我的具体情况下它做得非常出色 但我想关注以下问题 下面的代码在 Net Fr
  • size_t 总是无符号吗?

    如标题 size t 始终无符号 即size t x is x always gt 0 Yes It s usually定义如下 在 32 位系统上 typedef unsigned int size t 参考 C 标准第 18 1 节定义
  • Code First 从 int 迁移到 Guid 主键问题

    我正在尝试将代码第一个 ID 列从 int 更改为 Guid 当尝试运行迁移时 我收到以下消息 Identity column CustomFieldId must be of data type int bigint smallint t
  • 将 Flask_login 会话与 jinja2 模板一起使用

    我有简单的 jinja2 模板 带有注册 登录链接 我应该在用户登录时隐藏它们 我还使用flask login 模块来处理这个东西 问题是 我应该如何识别用户是否已登录 jinja2 模板 Flask Login 添加了current us
  • Flex DataGrid:根据另一个值更改值?

    我在 Flex 中有一个 DataGrid 其中一列是复选框 另一列是数值 单击该复选框时 数值应更改 如果未选中该复选框 则数值应更改为 0 如果选中该复选框 则应更改为预定义的最小值 这是我的代码
  • 如何对 SQL 查询进行单元测试?

    我有课DBHandler它接受一个查询 通过 SQL Server 运行它 检查错误并返回结果 我如何对这个类进行单元测试 Edit 我会尽量说得更准确 DBHandler负责将查询传递到服务器 为了测试它是否确实做到了这一点 抛出正确的异
  • 如何测试 Windows (10) 上是否安装了 Python,如果未安装则运行 exe 来安装它?

    仅当第一个命令失败时 我才需要在 Windows cmd 上运行第二个命令 在另一个场景中 我想在检查 python setup 是否安装后打开它 我用了这个命令 python version path to python install
  • 在 Mac 上查找(并杀死)锁定端口 3000 的进程 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何找到 并终止 侦听 使用我的 TCP 端口的进程 我在 macOS 上 有时 在崩溃或出现一些错误后 我的 Rails 应用程序会锁定
  • 如何使用 Google 表格中多个选项卡的值创建电子表格下拉列表

    想象一下电子表格 Google Spreadsheet 鉴于我有多个选项卡 每个选项卡都有一个名称 可能有 60 80 个选项卡 我想在首页上创建一个下拉菜单 在其中可以看到工作簿中每个选项卡的 它可能看起来像这样 Selected