Function "length" not working properly in google apps script

Viewed 45

I made function in the google sheet

function AVG_ZERO(input) {
  return input.length
};

But length of array different If the range of numbers is located in a column, then it is considered correct If the range of numbers is located in a string, then the length is 1 Links to images: https://postimg.cc/56xfmhZh https://postimg.cc/HVc13T6P

2 Answers

Try unfolding the array by using the Array.flat() function into separate elements regardless of the orientation:

function AVG_ZERO(input) {
  return input.flat().length
};

That will give you 3 for both row and column.

enter image description here

Issue:

If you pass a range of cells as an argument of a custom function, the argument will be treated by your custom function as a two-dimensional array of the cell's values, with the inner arrays being the individual rows. That is, the outer array length will equal the number of rows in your range: 1 for B1:D1 and 3 for B1:B3.

Reference:

Related