英文:
Google Script: Searching with a cell value
问题
我想要为客户的一个数值添加+1。
例如:
| G8 | K8 |
| Max Mustermann | 140 |
目标:
| G8 | K8 |
| Max Mustermann | 141 |
我有一个工作正常的脚本,但我想要使用来自单元格(G5)的值(Max Mustermann)。
function TextFinden() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
spreadsheet.getRange("G8:G" + spreadsheet.getLastRow()).createTextFinder("Max Mustermann").matchEntireCell(true).findNext().offset(0, 4).activate();
//value +1
var cell = SpreadsheetApp.getActiveSheet().getActiveCell();
var value = cell.getValue() * 1;
cell.setValue(value+1);
}
目标示例:
createTextFinder("G5")
这样,我可以将名称写入单元格(G5)并使用按钮将客户的值加1。
如有任何建议,将不胜感激,谢谢。
英文:
I want to add +1 to a value from a customer.
As example:
| G8 | K8 |
| Max Mustermann | 140 |
Goal:
| G8 | K8 |
| Max Mustermann | 141 |
I have a Script that works fine, but I would like to use the value (Max Mustermann) from a cell (G5).
function TextFinden() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
spreadsheet.getRange("G8:G" + spreadsheet.getLastRow()).createTextFinder("Max Mustermann").matchEntireCell(true).findNext().offset(0, 4).activate();
//value +1
var cell = SpreadsheetApp.getActiveSheet().getActiveCell();
var value = cell.getValue() * 1;
cell.setValue(value+1);
}
Goal example:
createTextFinder("G5")
So, I can write the Name in a cell (G5) and use a Button to add +1 to the Customer.
Any advice will be appreciated, thanks.
答案1
得分: 1
- 你想要从单元格 "G5" 中检索一个值。
- 你想要从单元格 "G8:G" 中搜索值。
- 当找到该值时,你想要在同一行的 "K" 列中添加
1
。
在这种情况下,以下示例脚本如何:
示例脚本:
function myFunction() {
const sheet = SpreadsheetApp.getActiveSheet();
const value = sheet.getRange("G5").getDisplayValue();
const range = sheet.getRange("G8:G" + sheet.getLastRow()).createTextFinder(value).matchEntireCell(true).findNext();
if (!range) return;
const valueRange = range.offset(0, 4);
valueRange.setValue(valueRange.getValue() + 1);
}
注意:
- 如果 "K" 列的值是字符串,请修改
valueRange.setValue(valueRange.getValue() + 1)
为valueRange.setValue(Number(valueRange.getValue()) + 1)
。
参考:
英文:
I believe your goal is as follows.
- You want to retrieve a value from cell "G5".
- You want to search the value from cells "G8:G".
- When the value is found, you wan to add
1
to the column "K" of the same row.
In this case, how about the following sample script?
Sample script:
function myFunction() {
const sheet = SpreadsheetApp.getActiveSheet();
const value = sheet.getRange("G5").getDisplayValue();
const range = sheet.getRange("G8:G" + sheet.getLastRow()).createTextFinder(value).matchEntireCell(true).findNext();
if (!range) return;
const valueRange = range.offset(0, 4);
valueRange.setValue(valueRange.getValue() + 1);
}
Note:
- If the value of column "K" is the string value, please modify
valueRange.setValue(valueRange.getValue() + 1)
tovalueRange.setValue(Number(valueRange.getValue()) + 1)
References:
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论