【问题标题】:Google Apps Script Spreadsheet Auto IncrementGoogle Apps 脚本电子表格自动增量
【发布时间】:2016-03-07 06:24:32
【问题描述】:

在电子表格中,如果我在“试用”列中选择 ST,C0001-ST1 将出现在“代码”列中,然后如果我在“试用”列中选择 SP,C0002-SP1 将出现在“代码”列中,然后如果我再次选择ST 在​​'试用'列 C0003-ST2 将出现在'代码'列。

第 1 步:

第 2 步

这是我现在实现此目的的代码。

function incTrialCode(sectionCode) { 
    if (sectionCode == ""){ return null; } 

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
    var range = sheet.getDataRange();
    var values = range.getValues();
    for (i=1; i<values.length; i++)
    { 
        trial = values[i][1];
    } 
    return sectionCode + values;
 }

【问题讨论】:

  • @Reyman:我假设你上面解释的是你想要的行为。你已经做了什么来实现这个目标?你在哪里卡住了?
  • @sudobangbang:是的,这就是我想要的行为。首先,我想创建一个脚本,它将递增 C0001、C0002、C0003 等。然后创建另一个脚本以了解“试用”列中有多少重复项。然后将两个脚本放在一起。
  • @Reyman:你能分享一些代码吗?这些可能会派上用场developers.google.com/apps-script/…support.google.com/docs/table/25273?hl=en
  • @sudobangbang:我是初学者,所以我只有这个。函数 incTrialCode(sectionCode) { if (sectionCode == ""){ return null; } var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var range = sheet.getDataRange(); var 值 = range.getValues(); for (i=1; i

标签: google-apps-script


【解决方案1】:

您不需要脚本。

你可以把这个公式放在A列 ="C"&amp;text(counta(B$2:B2),"0000")&amp;"-"&amp;B2&amp;countif(B$2:B2,B2)

从第 2 行开始并将其向下拖动以合并所有单元格。亲身体验here。

如果您需要解释,请告诉我。

【讨论】:

  • 我收到公式解析错误。你也可以在中间加上年份。像这个 C0001-16-ST01。 16 是今年。
  • =if(isblank(B2),"","C"&amp;text(counta(B$2:B2),"0000")&amp;"-"&amp;right(year(today()),2)&amp;"-"&amp;B2&amp;countif(B$2:B2,B2)) 是中间年份的公式。现在去检查here,看看它是否按照你的要求工作。如果您有其他错误,可能是由于您的电子表格区域设置或您在列B:B 中还有其他公式。您是否尝试过以某种方式修复解析错误?
猜你喜欢
  • 2020-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-22
相关资源
最近更新 更多