S.I/Lisp/

EXTRACTOPERATOR




=EXTRACTOPERATOR("Salary > 100000")
-> {">",GREATERTHAN}

=EXTRACTOPERATOR("Department <> IT")
-> {"<>",NOTEQUAL}

=EXTRACTOPERATOR("Department != IT")
-> {"!=",NOTEQUAL}
        



DEFINE(
    EXTRACTOPERATOR,
    LAMBDA(
        condition_string,
        IFS(
            ISNUMBER(FIND("<>", condition_string)),
                HSTACK("<>", NOTEQUAL),
            ISNUMBER(FIND("<=", condition_string)),
                HSTACK("<=", LTE),
            ISNUMBER(FIND(">=", condition_string)),
                HSTACK(">=", GTE),
            ISNUMBER(FIND("<", condition_string)),
                HSTACK("<", LESSTHAN),
            ISNUMBER(FIND(">", condition_string)),
                HSTACK(">", GREATERTHAN),
            ISNUMBER(FIND("!=", condition_string)),
                HSTACK("!=", NOTEQUAL),
            ISNUMBER(FIND("=", condition_string)),
                HSTACK("=", EQUAL),
            OTHERWISE,
                NA())))
        



Help us optimize this function