S.I/Lisp/

INDICES




=INDICES({"a","c"}, {"a","b","c"})
-> {1,3}

=INDICES({"a";"b"}, {"a";"b";"c"})
-> {1,2}
        



DEFINE(
    INDICES,
    LAMBDA(
        subset,
        superset,
        LET(
            vertical_subset,
                IF(
                    HORIZONTAL?(subset),
                    TRANSPOSE(subset),
                    subset),
            vertical_superset,
                IF(
                    HORIZONTAL?(superset),
                    TRANSPOSE(superset),
                    superset),
            MAKEARRAY(
                COUNTA(vertical_subset),
                1,
                LAMBDA(
                    row,
                    _col,
                    MATCH(
                        INDEX(
                            vertical_subset,
                            row,
                            1),
                        vertical_superset,
                        FALSE))))))
        



Help us optimize this function