So, I have a function that is used to iterate over rows within a spreadsheet. Based on checking some values, I need to return a value, if not, shouldn't return. I don't know how to return only in the specific cases when the function(row) has a return value.
function GetOldAreaSize(ID, area_changed, change_doc, area_kha, sheetSource) {
var data = sheetSource.getDataRange().getValues();
data.forEach(function (row) {
if (row[0] == ID) {
var area_changed_old = row[4];
var change_doc_old = row[2]+row[3];
var area_kha_old = row[15];
if (area_changed == area_changed_old) {
if (change_doc == "MR1") {
if (change_doc_old == "PDD1") {
var old_area = parseFloat(area_kha_old);
Logger.log(old_area+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR2") {
if (change_doc_old == "MR1") {
Logger.log(area_kha_old+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR3") {
if (change_doc_old == "MR2") {
Logger.log(area_kha_old+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR4") {
if (change_doc_old == "MR3") {
Logger.log(area_kha_old+" - "+parseFloat(area_kha))
return parseFloat(area_kha_old);
}} else if (change_doc == "MR5") {
if (change_doc_old == "MR4") {
return parseFloat(area_kha_old);
}} else if (change_doc == "MR6") {
if (change_doc_old == "MR5") {
return parseFloat(area_kha_old);
}}
else {
;
}
}
} else{
;
}});
}