Despite the inverse of gamma function is not expressible in terms of elementary functions, It seems to be possible for positive real numbers to start an algorithm from reversing Stirling approximation and using newton formula for roots of an equation, in order to converge to the argument of gamma function, given its result.
A friend of mine tested and so far, it seems to work for real numbers.
But since the logarithm of a complex value is multivalued, this approximation would not be suitable for complex expression of gamma function.
$\Gamma{(n+1)}=n!$
$n!=\sqrt{2\pi n}(\frac{n}{e})^n$
$\ln{(n!)}=\frac{1}{2}\ln{(2\pi)}+\frac{1}{2}ln{(n)}+n\ln{(n)}-n$
$n_1=n_0-\frac{\frac{1}{2}\ln{(2\pi)}+\frac{1}{2}ln{(n_0)}+n_0\ln{(n_0)}-n_0-\ln{(n!)}}{-\ln{n_0}}$
$n_1=\frac{n_0+\ln{(\Gamma{(n+1)})}-\frac{1}{2}\ln{(2\pi)}}{\ln{n_0}}-\frac{1}{2}$
so applying this algorithm with a guess value for $x_0$ will converge quickly to the result of argument of gamma function, but only for positive real numbers and it remains an approximation especially if $n\leq2$.
Here is a racket algorithm my friend wrote to detect if a value is a factorial :
#lang racket
(require math/special-functions)
(require math/base)
(define (fact n) (gamma (+ 1 n)))
(define (invfact n)
(define w (log n))
(define c (/ (log (* 2 pi)) -2))
(define (invfact-iter x)
(let ((xn (improve x)))
(if (< (abs (- x xn)) 0.001)
(check (exact-round xn))
(invfact-iter xn))))
(define (improve x) (- (/ (+ x w c) (log x)) 0.5))
(define (check res)
(if (= n (fact res))
res
"not a factorial"))
(if (< n 3)
n
(invfact-iter 10)))
If you try it under racket with for example : (invfact 720) you will get 6 after very few iterations, but the algorithm detects it by rounding, its result being really around 6.00739...
So @Gary's reverse approximation (see in the comments) is good too, even probably better, I didn't check.