I have a sheet where the first row is the number of days. The second and third row is the daily production of different companies in those number of days. Its something like this.
My requirement is to get the number of days row and the a particular company production details row in a 2D array.
Here is my code.
function GetData()
{
myFunction("Konabay");
}
function myFunction(Company)
{
var dSheet = SpreadsheetApp.getActiveSpreadsheet();
var aSheet= dSheet.getSheetByName("Data");
var range = aSheet.getDataRange();
var values = range.getValues();
var VNeeded=[];
for (var i = 0; i < values.length; i++)
{
//var row = "";
var companyCheck="No";
for (var j = 0; j < values[i].length; j++)
{
if (values[i][j])
{
if (i==0)//Need the first row(days) in my new array always
{
VNeeded[i,j]=values[i][j];
Logger.log("VNeeded i=0 (0,3) = "+ VNeeded[0,3]);
Logger.log("VNeeded i=0(1,3)= "+ VNeeded[1,3]);
//row = row + values[i][j];
}
else if (i>0)//From second row onwards check for the company needed
{
if(values[i][0]==Company)
{
companyCheck="Yes";
}
if(companyCheck=="Yes")
{
VNeeded[i,j]=values[i][j];
Logger.log("VNeeded i>0 (0,3) = "+ VNeeded[0,3]);
Logger.log("VNeeded i>0 (1,3)= "+ VNeeded[1,3]);
//row = row + values[i][j];
}
}
}
//row = row + ",";
}
//Logger.log(row);
}
}
I was looking for some thing like this
VNeeded[] =[10,2.5],[30,4],[40,5],[30,5]
But what i am getting is
VNeeded[] =[2.5,2.5],[4,4],[5,5],[5,5]
to check what is going on i used the Logger.log and it gave this result.
[18-01-28 22:36:30:121 IST] VNeeded i=0 (0,3) = undefined
[18-01-28 22:36:30:122 IST] VNeeded i=0(1,3)= undefined
[18-01-28 22:36:30:123 IST] VNeeded i=0 (0,3) = undefined
[18-01-28 22:36:30:123 IST] VNeeded i=0(1,3)= undefined
[18-01-28 22:36:30:124 IST] VNeeded i=0 (0,3) = undefined
[18-01-28 22:36:30:124 IST] VNeeded i=0(1,3)= undefined
[18-01-28 22:36:30:125 IST] VNeeded i=0 (0,3) = 30
[18-01-28 22:36:30:126 IST] VNeeded i=0(1,3)= 30
[18-01-28 22:36:30:126 IST] VNeeded i=0 (0,3) = 30
[18-01-28 22:36:30:127 IST] VNeeded i=0(1,3)= 30
[18-01-28 22:36:30:127 IST] VNeeded i>0 (0,3) = 30
[18-01-28 22:36:30:128 IST] VNeeded i>0 (1,3)= 30
[18-01-28 22:36:30:128 IST] VNeeded i>0 (0,3) = 30
[18-01-28 22:36:30:129 IST] VNeeded i>0 (1,3)= 30
[18-01-28 22:36:30:130 IST] VNeeded i>0 (0,3) = 30
[18-01-28 22:36:30:130 IST] VNeeded i>0 (1,3)= 30
[18-01-28 22:36:30:131 IST] VNeeded i>0 (0,3) = 5
[18-01-28 22:36:30:132 IST] VNeeded i>0 (1,3)= 5
[18-01-28 22:36:30:132 IST] VNeeded i>0 (0,3) = 5
[18-01-28 22:36:30:133 IST] VNeeded i>0 (1,3)= 5
So where am i getting it wrong?? When i am setting values to VNeeded[1,3], the same value is being set to the other dimension (VNeeded[0,3]) too. How is that possible?
Please help me get out of this issue.
How can i get the desired result. What am i doing wrong
The link to my test sheet is : https://docs.google.com/spreadsheets/d/15hOjIr11Czf1KtrvEgo00pvE0kc7fMfSvRhmrn1tPBM/edit?usp=sharing
Please help
Logger.log(JSON.stringify(VNeeded)) gives this result : ["Konabay",2.5,4,5,5]