如果值存在,则检查行

时间:2016-11-11 12:50:20

标签: google-apps-script google-sheets spreadsheet google-apps google-spreadsheet-api

if (purchaseSheet && range.getColumn() == purchasedColumn && ["Yes", "No", "Repeat"].indexOf(range.getValue()) > -1) {
    if (targetSheet.getRange("A:A").getValue() != taskID) {
        sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn()).copyTo(targetRange); //- moveTo
    }
}

我的第二个if语句似乎没有检查范围以查看某行是否包含相同的taskID。

如何检查“A列”以查看某行中是否存在值?

1 个答案:

答案 0 :(得分:3)

如果你得到一个超过一个单元格的范围并在其上调用getValue(),它将只获得一个值,即该范围左上角单元格中的值。

你想做的是

targetSheet
    .getRange("A:A")
    .getValues()
    .map(function(row) {return row[0];})
    .indexOf(taskID) > -1

如果您希望找到它,或=== -1如果您不希望它存在