google-apps-script - 修改代码 - 查找单元格中数据的第二个最后一个字母。Google Apps 脚本/Google 表格
问题描述
如果 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”列的值按“B”列的每个值的倒数第二个字符放入“C”和“D”列。
- 将值
###A#
和###B#
到列“C”。 - 将值
###C#
和###D#
到列“D”。
- 将值
- 您想使用 Google Apps 脚本来实现这一点。
我可以像上面那样理解。如果我的理解是正确的,这个答案怎么样?请认为这只是几个可能的答案之一。
在这个答案中,每个值的倒数第二个字符由 检索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
使用了。
笔记:
- 此示例脚本适用于您的共享电子表格。如果格式与您共享的电子表格不同,则该脚本可能不起作用。请注意这一点。
参考:
推荐阅读
- android - React-native onPress() 事件在 Android 中不起作用
- c# - 如何反序列化 json 响应
- javascript - 同一依赖项的多个 React 效果挂钩
- python - Django模型验证空白值
- apache-kafka - 如何让 Kafka 消费者从上次提交的偏移量而不是从上次使用的偏移量读取?
- c - MinGW32-make 路径变量问题
- acumatica - 处理结果返回后无法触发取消按钮动作
- spartacus-storefront - 斯巴达克斯:如何在链接点击时关闭汉堡菜单
- angular - 如何在每个代码中使用 Angular 中的(单击)功能添加元素?
- javascript - 如何在会话存储中存储暗模式?