code: public static function RANK($value, $valueSet, $order = 0)
      {
          $value = Functions::flattenSingleValue($value);
          $valueSet = Functions::flattenArray($valueSet);
          $order = ($order === null) ? 0 : (int) Functions::flattenSingleValue($order);
  
          foreach ($valueSet as $key => $valueEntry) {
              if (!is_numeric($valueEntry)) {
                  unset($valueSet[$key]);
              }
          }
  
          if ($order == 0) {
              rsort($valueSet, SORT_NUMERIC);
          } else {
              sort($valueSet, SORT_NUMERIC);
          }
          $pos = array_search($value, $valueSet);
          if ($pos === false) {
              return Functions::NA();
          }
  
          return ++$pos;
      }
docs: RANK.
  
  Returns the rank of a number in a list of numbers.
  
  @param int $value the number whose rank you want to find
  @param float[] $valueSet An array of, or a reference to, a list of numbers
  @param int $order Order to sort the values in the value set
  
  @return float