【问题标题】:Looking to search a spreadsheet for a value, then go to the value希望在电子表格中搜索一个值,然后转到该值
【发布时间】:2017-02-07 11:06:20
【问题描述】:

在谷歌电子表格(不是 Excel!)中,

我有两张床单。一个标题为“公司”,一个标题为“联系人” “公司”表只是 A 列中的公司名称列表,仅此而已。 “联系人”表是一个包含详细联系信息的电子表格,但他们工作的公司也在 A 列中。

我想弄清楚如何编写一个脚本来查看活动单元格的值(在“公司”表中),然后在“联系人”表的公司列中搜索该值,然后去到第二张表中的那个单元格,并使其成为活动单元格。

我已经弄明白了一些;我在搜索“联系人”表的 A 列以查找匹配值的部分遇到了最大的麻烦,然后转到该值以使其成为活动单元格

谁能帮帮我?

【问题讨论】:

  • 向我们展示您目前拥有的代码,我们可能会提供帮助..
  • 对于需要帮助的部分,我目前基本上一无所获。使代码搜索与活动单元格相同的值,然后转到第二张表中具有相同值的行
  • 你的最终目标是什么?是否要根据公司在联系人表中查找某个值?

标签: google-apps-script google-sheets


【解决方案1】:

将以下代码粘贴到您的脚本编辑器中,保存并刷新电子表格。在“公司”表中单击您要搜索的单元格,然后单击“自定义功能”菜单和“搜索公司”。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var ui = SpreadsheetApp.getUi();

function onOpen(e) {
    ui.createMenu('Custom Functions')
    .addItem('Search for company', 'myFunction')
    .addToUi()
}

function myFunction() {
    var searchSheet = ss.getSheetByName('Companies');
    var targetSheet = ss.getSheetByName('Contacts');

    var searchTerm = searchSheet.getActiveCell().getValue();

    var searchRange = targetSheet.getRange(1, 1, targetSheet.getLastRow()).getValues();

    for (var i = 0; i < searchRange.length; i++) {
        if (searchTerm == searchRange[i][0]) {
            break;
        }
    }

    var row = targetSheet.getRange(i + 1, 1);

    targetSheet.setActiveRange(row);

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-24
    • 2013-07-03
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多