【问题标题】:Best way to search a row in google spreadsheet在谷歌电子表格中搜索一行的最佳方法
【发布时间】:2014-01-28 13:49:26
【问题描述】:

所以,一直在查看谷歌电子表格中的搜索功能,发现很难找到一种平滑的方法来查找第一行的哪一列包含特定值。

为了解释更多,它是一个简单的分配电子表格,基本上谁在哪个项目上工作了多长时间,并且由于我们有许多不同的管道,我希望将管道分开。所以我为每个创建了一个工作表,设置了前五个列,以便包含各种有用的信息(如资源、项目、项目角色、收费、客户),然后其余的列代表周,所以每个列都有日期星期一,并且所有八张表都有相同的设置,所以第 6 到 28 列包含下星期一的日期,让我可以预测总共 22 周左右的资源分配。

下一步是创建一个报告(表 1),通过资源告诉我他们有多忙,无论是摘要还是详细+摘要,如果有人被分配到许多或几天特定的一周。 我还想查看允许我指定一个日期,很简单,两个下拉菜单。首先是第一行第二行的日期列表,第二个是相同的列表,因此用户可以从下拉列表中指定 27/01/2014 - 03/04/2014。 现在是我的问题,我想检索与日期匹配的列的数值,所以如果开始日期在 F 列中,我想要一个 6 英寸的变量。结束日期在 M 中,即 14。

有人对如何做到这一点有什么好的建议吗?

尝试读取该行并将其作为数组搜索,效果不是特别好

var vcSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Office");
var range = vcSheet.getRange(1,1,1,28);
var dates = range.getValue();

var strCol = dates.indexOf(dtStart);
var stpCol = dates.indexOf('Task');
Browser.msgBox('Found start col on ' + strCol + ' end col on ' + stpCol);

【问题讨论】:

    标签: javascript google-apps-script


    【解决方案1】:

    您是否尝试过 .getValues(),而不是 .getValue()?也许是这样的;

    var dates=range.getValues();
    for (i in dates[0]) {
        if (dates[0][i].indexOf(dtStart)>-1) {  some stuff  }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-29
      • 2020-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多