修改代码-查找单元格中数据的第二个最后一个字母.谷歌应用程序脚本/谷歌表单



如果B列中单元格中的数据只有a或B作为倒数第二个字母-(位置G08B1的示例(-将该行复制到另一个工作表。

如果某个单元格有某个单词,我会使用复制行的修改版本,所以不知道如何根据需要修改它。

function CopyAorBLocation() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "FORKLIFT" && r.getColumn() == 7 && r.getValue() == copy AorB if 2nd last letter - if not ignore) 
{
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSS = 
SpreadsheetApp.openById("");
s = SpreadsheetApp.getActiveSheet();
var tempSheet = s.copyTo(targetSS);
var targetSheet = targetSS.getSheetByName("ONLINERELOCATION");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
tempSheet.getRange(row, 4, 1, 3).copyTo(target);

希望这不会太复杂而难以实现。

提前感谢

  • 输入和输出样本值分别为列"B"和列"C:D">
  • 您希望将列"B"的值放在列"C"one_answers"D"的后面,后面是"B"列每个值的倒数第二个字符。
    • 将值###A####B#放在列"C"中
    • 将值###C####D#放在"D"列中
  • 你想使用谷歌应用程序脚本来实现这一点

我可以像上面一样理解。如果我的理解是正确的,这个答案怎么样?请将此视为几种可能的答案之一。

在这个答案中,每个值的倒数第二个字符由substring()检索。

示例脚本:

function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var srcValues = sheet.getRange(2, 2, sheet.getLastRow() - 1, 1).getValues();
var dstValues = srcValues.map(function([b]) {
var len = b.length;
var s = b.substring(len - 2, len - 1).toUpperCase();
return (s == "A" || s == "B") ? [b, ""] : (s == "C" || s == "D") ? ["", b] : ["", ""];
});
sheet.getRange(2, 3, dstValues.length, 2).setValues(dstValues);
}
  • 在此示例脚本中,使用了Sheet1

注意:

  • 此示例脚本适用于您的共享电子表格。如果格式与共享的电子表格不同,则脚本可能无法工作。请小心

参考:

  • substring((

相关内容

最新更新