根据另一列中的字符串中的数据查找行号
Find a row number based on data from a string in another column
我有一个在不同列中有一些用户详细信息的表,在最后一列"G"中,我有一个唯一的ID,这是字符串'UID',我想迭代每一行,直到它在列G中找到UID,然后我需要它返回该用户的行号。
我从不同的教程和答案中挑选了不同的部分,得出了下面的结论。我试过调试,它一直返回0.0的行。
有用户没有唯一的id,这可能是问题吗?
任何想法?
var data = getQueryString("?"+claim_code);
var UID = data.uniqueid;
Logger.log(UID);
// Find out the row from the UID
var column = response.getRange('G:G');
var values = column.getValues();
var row = 0;
while ( values[row][0] == UID ) {
row++;
Logger.log(row);
}
您只需要对值执行while语句并使用!=因为这样,它将遍历您的值,直到找到您正在查看的行。顺便说一句,您可能希望将范围限制为您拥有的特定行数。它将比当前的G:G运行得快得多,因为它会在所有行上运行。下面是为您查找值的代码:
while ( values[row] != UID ) {
row++;
Logger.log(row);
}
你可以得到表格的所有值,然后迭代每一行来找到你的值:示例如下:https://docs.google.com/spreadsheets/d/1LGv_u_z_DuUpW01o8yMpHkceM3N45G3ruqQ8JtHkNEs
function find(){
var idToFind = "A12347";
var userRow = findID(idToFind);
Logger.log(userRow);
}
function findID(userID) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var values = sheet.getSheetValues(2, 1, sheet.getLastRow()-1, sheet.getLastColumn());
for(var x=1; x<values.length; x++){
if(userID == values[x][6]){
return x;
}
}
return 0; // Error, not found userID
}
相关文章:
- Ajax请求返回空的数据字符串,但首先得到了正确的数据
- Javascript / JQuery循环访问已发布的ajax数据字符串以为其分配新值
- 保存Canvas图像(将数据字符串发布到PHP)
- 如何将数据字符串附加到角度$http
- Mozilla Persona 符号数据字符串
- JSON 数据字符串替换和日期格式
- Javascript 字典到 html 数据字符串
- 如何在服务器端保存PNG图像,使用base64数据字符串javascript
- 访问javascript中的json数据(字符串数组)
- 基于浏览器的本地文件系统到SVG base64数据字符串
- 为什么这个ajax请求有一个数据字符串,里面有一堆带破折号的数字
- 字符串化字符串化的数据字符串
- 分割数据-字符串.分离参数
- 如何在三星Note 2上使用toDataURL创建JPG数据字符串
- 使用javascript删除特定的数据字符串
- 无法在d3.js中对有序数据(字符串)执行刷刷
- 将数据字符串转换为对象
- 正确解码Get Blob数据字符串到ArrayBuffer
- 在服务器端保存画布图像时,从base64数据字符串生成空白图像
- 如何预防'未定义'从流中读取数据时的数据字符串