我正在尝试以一种可以使用“=MATCH()”函数复制的方式插入一个指向单元格的超链接。但是,如果不使用GID,我似乎无法找到在Google工作表中链接单元格的方法。
当我右键单击并“获取到此单元格的链接”时,我最终会得到一个带有“#gid=1933185132”的网址。然而,这没有结构,我不能用它来匹配公式,并像我通常在Excel中那样自动填充它。
https://docs.google.com/spreadsheets/d/sheetkey/edit#gid=1933185132
然而,如果这是有一个单元格引用像这样
https://docs.google.com/spreadsheets/d/sheetkey/edit#Sheet1!C12
我可以很容易地为MATCH函数重新创建它。
问:有没有一种替代的方法来链接单元格,就像我上面显示的那样?如果没有,我可以使用一个公式来提取"Sheet1!C12"?
我已经搜索了谷歌论坛和堆栈溢出到最好的程度,我看到的唯一的解决方案似乎是使用带有“var表”的脚本,这是我无法理解的编码知识。
这应该是一件非常简单的事情,但我找不到出路。对这个问题的任何见解都是值得赞赏的。非常感谢。
由于到下面部分的URL将是一个常量,因此可以首先在单元格中定义它。
https://docs.google.com/spreadsheets/d/sheetkey/edit#
我相信您已经在一列中定义了gid=1933185132
部分(假设它是a列)。因此,要获得工作表的实际URL,只需将这两个链接起来。因此,在B列中,你必须写出以下公式。
=HYPERLINK(CONCAT(A1,A2),A2)
GID不要求是以https开头的有效URL。。。
您所需要的只是像这样的超链接:
=HYPERLINK("#gid=1933185132&range=C12", "sheet name")
如果您想超链接所有工作表,可以这样做:
function SHEETLIST() {
try {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()
var out = new Array( sheets.length+1 ) ;
out[0] = [ "NAME" , "#GID" ];
for (var i = 1 ; i < sheets.length+1 ; i++ ) out[i] =
[sheets[i-1].getName() , sheets[i-1].getSheetId() ];
return out
}
catch( err ) {
return "#ERROR!"
}
}
=ARRAYFORMULA(HYPERLINK("#gid="&
QUERY(INDEX(SHEETLIST();;2); "offset 1");
QUERY(INDEX(SHEETLIST();;1); "offset 1")))
您可以创建如下链接:
=hyperlink(#gid=1166414895range=A1,“链接到A1”)
每个选项卡都有一个唯一的键,称为gid,您可以在以下链接中找到它:
#gid
永远不会改变。选项卡名称可能会更改,公式将中断,使用gid
更安全
我找不到关于此主题的留档,也找不到使用制表符名称的方法。
根据您的浏览器,您的剪贴板现在将包含完整的URL:
https://docs.google.com/spreadsheets/d/xxxxxxxxxx/edit#rangeid=nnnnnnnnnn
或者剪贴板将只包含范围ID片段:
#rangeid=nnnnnnnnnn
如果只有片段,则需要将其附加到文档的URL,以创建该范围的完整URL。
可能还有其他更简单的方法来获取范围ID,但我还没有注意到。参见相关问题,类似问题的答案。
PS:复制命名范围的URL后,您可以按照上述步骤删除创建的链接。
在公式中使用。
简单范围:
=超链接(getLinkByRange(“Sheet1”、“A1”),“链接到A1”)
命名范围:
=超链接(getLinkByNamedRange(“NamedRange”),“链接到命名范围”)
将代码插入脚本编辑器(工具
function getLinkByRange(sheetName, rangeA1, fileId)
{
// file + sheet
var file = getDafaultFile_(fileId);
var sheet = file.getSheetByName(sheetName);
return getCombinedLink_(rangeA1, sheet.getSheetId(), fileId, file)
}
function getLinkByNamedRange(name, fileId)
{
// file + range + sheet
var file = getDafaultFile_(fileId);
var range = file.getRangeByName(name);
var sheet = range.getSheet();
return getCombinedLink_(range.getA1Notation(), sheet.getSheetId(), fileId, file)
}
function getDafaultFile_(fileId)
{
// get file
var file;
if (fileId) { file = SpreadsheetApp.openById(fileId); }
else file = SpreadsheetApp.getActive();
return file;
}
function getCombinedLink_(rangeA1, sheetId, fileId, file)
{
var externalPart = '';
if (fileId) { externalPart = file.getUrl(); }
return externalPart + '#gid=' + sheetId + 'range=' + rangeA1;
}
答案是接下来: 1) 谷歌表单单元格“A11”中有公式,例如“=F11 C11”; 2)我在https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate或https://developers.google.com/sheets/api/reference/rest/v4/spre
在当前版本的Google Sheet中,要在单元格中插入超链接,可以执行以下操作 在新版Google Sheets中,超链接插入是不同的,您可以这样做。 但是,我有一个问题,在电子表格中插入的值不是我所期望的。在这张显示插入链接的图像中,在=HYPERLINK之前插入了一个“插入”——我不知道这是从哪里来的。有什么想法吗?
我使用脚本将数据从MySQL数据库导入到工作表中。在导入过程中,其他具有重公式的工作表(vlookup、sumifs、filter)会不断重新计算,因此需要花费很长时间。我想在MySQL数据完全导入后,通过脚本插入公式。 为了简化此过程,我想将工作表上的所有公式(这是一个很长的工作表)提取到一个文件中,并将提取的数据格式化为以下方式:示例:从工作表“摘要”中提取数据: 循环检查工作表中的每个单元格
是否有任何方法,使用脚本或其他方式,来评估谷歌电子表格中的连接公式? 我为Google Finance函数创建了一个连接公式,用于获取每日汇率。这是因为我的日期和货币不断变化;而不是“usdeur”,我有时对获取“usdinr”或“euraud”感兴趣。通过使用连接和一些基本脚本,我能够将下面的公式作为文本粘贴到单元格中。所需的只是执行以下字符串的方法。 据我所知,工作表不像Excel那样具有“E
本文向大家介绍如何使用Java在excel单元格中设置超链接,包括了如何使用Java在excel单元格中设置超链接的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了如何使用Java在excel单元格中设置超链接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 (一)问题引入 有时候我们在导入数据到excel中时可能要给某个文件或图片设
这并不是重复的,尽管这个问题在2011年已经在这个论坛上提出过:从Excel文档中获取超链接URL,2013年用Python从Excel(.xlsx)中提取超链接,2014年用XLRD从Python中的Excel表超链接中获取URL;还是没有答案。在深入研究了xlrd模块之后,data_sheet.hyperlink_map.get((row,col))项似乎会跳转,因为在用Python从Exce