code: public static function AVERAGEA(...$args)
      {
          $returnValue = null;
  
          $aCount = 0;
          // Loop through arguments
          foreach (Functions::flattenArrayIndexed($args) as $k => $arg) {
              if ((is_bool($arg)) &&
                  (!Functions::isMatrixValue($k))) {
              } else {
                  if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) {
                      if (is_bool($arg)) {
                          $arg = (int) $arg;
                      } elseif (is_string($arg)) {
                          $arg = 0;
                      }
                      if ($returnValue === null) {
                          $returnValue = $arg;
                      } else {
                          $returnValue += $arg;
                      }
                      ++$aCount;
                  }
              }
          }
  
          if ($aCount > 0) {
              return $returnValue / $aCount;
          }
  
          return Functions::DIV0();
      }
docs: AVERAGEA.
  
  Returns the average of its arguments, including numbers, text, and logical values
  
  Excel Function:
  AVERAGEA(value1[,value2[, ...]])
  
  @category Statistical Functions
  
  @param mixed ...$args Data values
  
  @return float