I'm trying to compare a user specified date against a date in a databank on another sheet. The script should return the specified columns of any row with the matching date. Currently, it returns all of the data. It seems like the IF statement is always reading as true, regardless of the values. The logs show the values are different. Why might this IF statment always be returning true, and thus returning all databank rows? Code Below:
function search()
{
//clears contents in search sheet (sheet1)
var app=SpreadsheetApp;
var WorkSheet = app.getActiveSpreadsheet().getSheetByName("Sheet1");
WorkSheet.getRange("A2:D50").clearContent();
//store date search value - getrange x and get it's value
var DateSearch = WorkSheet.getRange(1,2).getValue();
//view variable for testing
Logger.log(DateSearch);
//data sheet lastrow variable
var dataSheet = app.getActiveSpreadsheet().getSheetByName("Form Responses
1");
var a = dataSheet.getDataRange().getNumRows();
//view variable for testing
Logger.log(a);
//var i is looper
var i;
var dataI;
var copyValue;
//view if statement value for testing
for(i=2;i<=a;i++)
{
Logger.log(i);
dataI = dataSheet.getRange(i,1).getValue();
Logger.log(dataI);
Logger.log(DateSearch);
if (dataI = DateSearch)
{
// returns values in variable row and first 2 columns if condition is met
copyValue = dataSheet.getRange(i, 1, 1, 2).getValues();
//test copyValue
Logger.log(copyValue);
WorkSheet.getRange(i,1,1,2).setValues(copyValue);
}
}
}