繁体   English   中英

Google Apps 脚本 - 想要截断表单中特定列中的文本

[英]Google Apps Script - Want to truncate a text in a particular column in a form sheet

我正在尝试使用左侧 function 将工作表中特定列的自动文本 (a8a2dc4e-ba77-450d-8352-0044365e7322) 截断为文本 (a8a2) 的前四个......我无法做到它,我收到错误消息,我无法在工作表本身上使用 function,因为工作表每天清除所有 function

这是下面的脚本

function Truncate () {
  
// Get Spreadsheet and sheets
  var R = SpreadsheetApp.openById("Sheet Link");
    var Choices = R.getSheetByName("Choices");
  
     UniqueNo = Choices.getRange("H2:H").left(H:4"); //sheet column range and the left function
    }

请问我的脚本有什么问题,我可以使用哪个脚本来实现这个目标?

问题:


解释:

  • 您的目标是获取 H 列的值,对每个元素应用操作以获取此数组中每个元素的前 4 位数字,然后将值粘贴/覆盖回 H 列。

  • 为此,您必须使用getValues()获取列 H 的值。首先,您使用flat获取一维数组中的值。 然后,您需要将 function 应用于此数组的每个元素,以获取每个单元格的前 4 位数字。 使用map()来做到这一点。

  • 获取字符串前 4 位数字的一种方法是使用substring(0,4)


解决方案:

function truncate() {
    const R        = SpreadsheetApp.openById("SheetId");
    const Choices  = R.getSheetByName("Choices");
    const Hrange = Choices.getRange("H2:H");
    const data    = Hrange.getValues().flat().map(r => [r.toString().substring(0,4)] );
    Hrange.setValues(data);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM