0

我正在使用 Google 表格来跟踪我的每周排名。我的方法是将新的 CSV 作为单独的工作表导入,并使用主工作表将我的每周数据拉到一个地方。

我刚刚达到工作簿上 200 万个单元格的限制,需要重新创建我的文档以允许我删除所有额外的工作表并只留下主工作表。

问题是,我如何使用特殊粘贴值来断开与引用数据的工作表的连接,同时保留将排名位置与排名页面链接的公式的超链接部分关键词。

本质上,我需要我的 Sheet1 保持不变,但允许我删除 Sheet2(以及我在真实文件中的其他 50 张表)。

4

1 回答 1

0

一口气不可能,但如果你

  • 将此脚本添加到您的电子表格中,然后使用此自定义公式:=URL(A1)

    function URL(reference) {
    var sheet = SpreadsheetApp.getActiveSheet();
    var formula = SpreadsheetApp.getActiveRange().getFormula();
    var args = formula.match(/=\w+\((.*)\)/i);
    try {
    var range = sheet.getRange(args[1]);
    }
    catch(e) {
    throw new Error(args[1] + ' is not a valid range');
    }
    var formulas = range.getFormulas();
    var output = [];
    for (var i = 0; i < formulas.length; i++) {
    var row = [];
    for (var j = 0; j < formulas[0].length; j++) {
      var url = formulas[i][j].match(/=hyperlink\("([^"]+)"/i);
      row.push(url ? url[1] : '');
    }
    output.push(row);
    }
    return output
    }

    0

  • 或者这个带有自定义公式的间接(较短):=URL("A1")

    function URL(input) {
    var range = SpreadsheetApp.getActiveSheet().getRange(input);
    var url = /"(.*?)"/.exec(range.getFormulaR1C1())[1];
    return url;
    }

    在此处输入图像描述

它将提取超链接后面的链接,以便您可以复制它

于 2019-05-25T22:48:09.520 回答