首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带有超链接的下拉列表

带有超链接的下拉列表
EN

Web Applications用户
提问于 2016-11-15 11:16:08
回答 1查看 6.2K关注 0票数 5

我正在尝试用下拉列表设置sheet1。

代码语言:javascript
运行
AI代码解释
复制
Data validation, cell range: Sheet1!B16  
Criteria: List from a range Sheet2!A:A
Show dropdown list in cell
On invalid data show warning.

工作表2上的数据是一个位置列表,如下所示:=HYPERLINK("https://www.google.com/maps/.....", "Friendly Name")

我的问题是,它只带来友好的名字&而不是链接。

我怎样才能把这链接传过来?

EN

回答 1

Web Applications用户

发布于 2016-11-20 20:56:36

短答案

此时,数据验证只返回纯文本值,但可以使用脚本将值替换为包含超链接函数的公式。

解释

数据验证只返回下拉选项,纯文本值,它不能提供公式或丰富的文本内容。另一种方法是使用Google脚本将赋值替换为相应的公式。有关如何将脚本添加到Google电子表格的一般说明,请参阅扩展谷歌

脚本

此脚本是一个简单的编辑触发器。这将检查所编辑的单元格是否是要验证是否为真的单元格,然后将用标准范围的相应公式替换选定的值。

代码语言:javascript
运行
AI代码解释
复制
function onEdit(e) {
  // Cell to validate
  var cellAddress = 'B16';
  var sheetName = 'Sheet1';
  // Current cell
  var eA1Notation = e.range.getA1Notation();
  var eSheetName = e.range.getSheet().getName();
  // If the edited cell is the cell to validate set the formula
  // otherwise do nothing
  if(eA1Notation == cellAddress && eSheetName == sheetName ){
    //Criteria
    var criteriaSheet = 'Sheet2';
    var criteriaColumn = 'A:A';
    var validationRange = e.source.getRange(criteriaSheet + '!' + criteriaColumn);
    var values = [].concat.apply([], validationRange.getValues());
    var row = values.indexOf(e.range.getValue());
    var formula = validationRange.getFormulas()[row];
    e.range.setValue(formula);
  }
}
票数 2
EN
页面原文内容由Web Applications提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webapps.stackexchange.com/questions/100338

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文