I have two arrays that I have looped over to match an element from the 1st array vals1 in the second onevals2. If the element(index [i][0]) from vals1 is present in vals2(index [j][0]), I need to grad the element (index[j][1]) from vals2 and push to vals1 (or create a new array with all elements of vals1 and the one from vals2)If it isn't present, I want to assign 'Unassigned' where I would have used element[j][1] from ```vals2``
So:
If vals1 = [[ 'item3', 3, 2, 6 ],[ 'item6', 4, 7, 28 ],[ 'item8', 1, 8, 8 ],[ 'item2', 6, 12, 72 ]]
and vals2 = [[ 'item1', 15 ],[ 'item2', 4 ],[ 'item3', 1 ],[ 'item4', 2 ]]
I'm looking for the following result:
[[ 'item3', 3, 2, 6,1 ],[ 'item6', 4, 7, 28,'Unassigned' ],[ 'item8', 1, 8, 8,Unassigned' ],[ 'item2', 6, 12, 72,4 ]]
The script I have so far is:
function lookup () {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName('Sheet11');
var vals1 = sheet1.getRange(2,1,sheet1.getLastRow(),sheet1.getLastColumn()).getValues();
var sheet2 = ss.getSheetByName('Sheet12');
var vals2 = sheet2.getRange(2,1,sheet2.getLastRow(),sheet2.getLastColumn()).getValues();
console.log(vals1);
[
[ 'item3', 3, 2, 6 ],
[ 'item6', 4, 7, 28 ],
[ 'item8', 1, 8, 8 ],
[ 'item2', 6, 12, 72 ],
]
console.log(vals2);
[
[ 'item1', 15 ],
[ 'item2', 4 ],
[ 'item3', 1 ],
[ 'item4', 2 ]
]
var result =[];
for(var i=0;i<vals1.length;i++){
for(var j=0;j<vals2.length;j++){
var desc = vals1[i][0]
var qty = vals1[i][1]
var selling = vals1[i][2]
var total = vals1[i][3]
var desc2 = vals2[j][0]
var cost = vals2[j][1]
if(desc === desc2){
result.push([desc,qty,selling,total,cost])
} else {
result.push([desc,qty,selling,total,'Unassigned'])
}
}
}
console.log(result)
}
And the result I'm getting is:
[ [ 'item3', 3, 2, 6, 'Unassigned' ],
[ 'item3', 3, 2, 6, 'Unassigned' ],
[ 'item3', 3, 2, 6, 1 ],
[ 'item3', 3, 2, 6, 'Unassigned' ],
[ 'item3', 3, 2, 6, 'Unassigned' ],
[ 'item3', 3, 2, 6, 'Unassigned' ],
[ 'item2', 4, 7, 28, 'Unassigned' ],
[ 'item2', 4, 7, 28, 4 ],
[ 'item2', 4, 7, 28, 'Unassigned' ],
[ 'item2', 4, 7, 28, 'Unassigned' ],
[ 'item2', 4, 7, 28, 'Unassigned' ],
[ 'item2', 4, 7, 28, 'Unassigned' ],
[ 'item4', 1, 8, 8, 'Unassigned' ],
[ 'item4', 1, 8, 8, 'Unassigned' ],
[ 'item4', 1, 8, 8, 'Unassigned' ],
[ 'item4', 1, 8, 8, 2 ],
[ 'item4', 1, 8, 8, 'Unassigned' ],
[ 'item4', 1, 8, 8, 'Unassigned' ],
[ 'item2', 6, 12, 72, 'Unassigned' ],
[ 'item2', 6, 12, 72, 4 ],
[ 'item2', 6, 12, 72, 'Unassigned' ],
[ 'item2', 6, 12, 72, 'Unassigned' ],
[ 'item2', 6, 12, 72, 'Unassigned' ],
[ 'item2', 6, 12, 72, 'Unassigned' ],
[ 'item4', 3, 34, 102, 'Unassigned' ],
[ 'item4', 3, 34, 102, 'Unassigned' ],
[ 'item4', 3, 34, 102, 'Unassigned' ],
[ 'item4', 3, 34, 102, 2 ],
[ 'item4', 3, 34, 102, 'Unassigned' ],
[ 'item4', 3, 34, 102, 'Unassigned' ],
[ 'item3', 2, 8, 16, 'Unassigned' ],
[ 'item3', 2, 8, 16, 'Unassigned' ],
[ 'item3', 2, 8, 16, 1 ],
[ 'item3', 2, 8, 16, 'Unassigned' ],
[ 'item3', 2, 8, 16, 'Unassigned' ],
[ 'item3', 2, 8, 16, 'Unassigned' ],
[ 'item1', 8, 32, 256, 15 ],
[ 'item1', 8, 32, 256, 'Unassigned' ],
[ 'item1', 8, 32, 256, 'Unassigned' ],
[ 'item1', 8, 32, 256, 'Unassigned' ],
[ 'item1', 8, 32, 256, 'Unassigned' ],
[ 'item1', 8, 32, 256, 'Unassigned' ],
[ 'item1', 21, 32, 672, 15 ],
[ 'item1', 21, 32, 672, 'Unassigned' ],
[ 'item1', 21, 32, 672, 'Unassigned' ],
[ 'item1', 21, 32, 672, 'Unassigned' ],
[ 'item1', 21, 32, 672, 'Unassigned' ],
[ 'item1', 21, 32, 672, 'Unassigned' ],
[ 'item2', 2, 7, 14, 'Unassigned' ],
[ 'item2', 2, 7, 14, 4 ],
[ 'item2', 2, 7, 14, 'Unassigned' ],
[ 'item2', 2, 7, 14, 'Unassigned' ],
[ 'item2', 2, 7, 14, 'Unassigned' ],
[ 'item2', 2, 7, 14, 'Unassigned' ],
[ 'item5', 4, 6, 24, 'Unassigned' ],
[ 'item5', 4, 6, 24, 'Unassigned' ],
[ 'item5', 4, 6, 24, 'Unassigned' ],
[ 'item5', 4, 6, 24, 'Unassigned' ],
[ 'item5', 4, 6, 24, 4 ],
[ 'item5', 4, 6, 24, 'Unassigned' ],
[ 'item8', 9, 8, 72, 'Unassigned' ],
[ 'item8', 9, 8, 72, 'Unassigned' ],
[ 'item8', 9, 8, 72, 'Unassigned' ],
[ 'item8', 9, 8, 72, 'Unassigned' ],
[ 'item8', 9, 8, 72, 'Unassigned' ],
[ 'item8', 9, 8, 72, 'Unassigned' ],
[ 'item3', 16, 2, 32, 'Unassigned' ],
[ 'item3', 16, 2, 32, 'Unassigned' ],
[ 'item3', 16, 2, 32, 1 ],
[ 'item3', 16, 2, 32, 'Unassigned' ],
[ 'item3', 16, 2, 32, 'Unassigned' ],
[ 'item3', 16, 2, 32, 'Unassigned' ],
[ 'item7', 32, 6, 192, 'Unassigned' ],
[ 'item7', 32, 6, 192, 'Unassigned' ],
[ 'item7', 32, 6, 192, 'Unassigned' ],
[ 'item7', 32, 6, 192, 'Unassigned' ],
[ 'item7', 32, 6, 192, 'Unassigned' ],
[ 'item7', 32, 6, 192, 'Unassigned' ],
[ 'item6', 1, 21, 21, 'Unassigned' ],
[ 'item6', 1, 21, 21, 'Unassigned' ],
[ 'item6', 1, 21, 21, 'Unassigned' ],
[ 'item6', 1, 21, 21, 'Unassigned' ],
[ 'item6', 1, 21, 21, 'Unassigned' ],
[ 'item6', 1, 21, 21, 'Unassigned' ],
The data sets im working from has 1701 rows and 228 rows respectivly. When I originally ran the script it printed over 400 000 rows of data.
Any help would be greatly appreciated