Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 如何快速创建图纸的超链接_Google Sheets - Fatal编程技术网

Google sheets 如何快速创建图纸的超链接

Google sheets 如何快速创建图纸的超链接,google-sheets,Google Sheets,我有一个目录页,上面有文件中所有的表格。 正如您在屏幕截图中所看到的,在“轮次”和“数据输入”下列出的所有单元格与它们链接到的工作表具有相同的名称 我想知道是否有一种方法可以自动为所有这些单元格创建链接,而不是遍历每个单元格 谢谢你的帮助。试试: function SHEETLIST() { try { var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets() var out = new Array( sheets.

我有一个目录页,上面有文件中所有的表格。 正如您在屏幕截图中所看到的,在“轮次”和“数据输入”下列出的所有单元格与它们链接到的工作表具有相同的名称

我想知道是否有一种方法可以自动为所有这些单元格创建链接,而不是遍历每个单元格

谢谢你的帮助。

试试:

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!" 
}
}


请注意,您可能需要使用CTRL键将C列格式重置为默认值,我可以通过录制宏来完成此操作。以下是我在录音时所做的步骤

  • 删除单元格中的所有内容

  • 将@player0生成的数组公式粘贴到“Rounds”列下的第一个单元格中

  • 选择列中的所有单元格,然后单击“转换为链接”
  • 将颜色设置为蓝色和下划线,使其看起来像链接
  • 这是完成的宏


    你能分享你的工作表吗?我复制并粘贴了它们,但我得到的是“#REF!-数组结果没有扩展,因为它会覆盖C3中的数据。”@Nitrolysis是的,如果你在粘贴之前没有删除C2:C范围,这是有意义的。我不太确定我做错了什么。我选择圆形单元格下的所有单元格,点击delete,然后将数组公式放入顶部单元格。然后,它会自动填充所有字段以说出正确的整数和数字,但没有链接。@是的,这就是为什么答案中包含了通过CTRL+\重置C列格式的注释。然后,所有单元格都将被超链接,之后,您可以根据需要对其进行格式化
    =ARRAYFORMULA(HYPERLINK("#gid="&
     QUERY(SHEETLIST(), "select Col2 where Col1 contains 'Round' ", 0), 
     QUERY(SHEETLIST(), "select Col1 where Col1 contains 'Round' ", 0)))