I have a Google Sheet and I want to generate all the possible permutations of a keyword (KW).
Eg: I have a SpreadSheet
Outcome: I.*have.*a|I.*a.*have|have.*I.*a|have.*a.*I|a.*have.*I|a.*I.*have
Issue, if the keyword is more then 4 words, i'm unable to generate the 4th+ word in the KW as seen above (Missing "SpreadSheet").
Currenlty this is the formula that is able to work upto 3 words.
=IFS(B5=1,B4,B5=2,query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col1"), B5>=3, query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&"|"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&"|"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&"|"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col2"))
I tried adding the 4th word but gotten an error
"Unable to parse query string for Function QUERY parameter 2: PARSE_ERROR: Encountered " <INTEGER_LITERAL> "4 "" at line 1, column 12. Was expecting one of: "where" ... "group" ... "pivot" ... "order" ... "skipping" ... "limit" ... "offset" ... "label" ... "format" ... "options" ... "," ... "" ... "+" ... "-" ... "/" ... "%" ... "" ... "/" ... "%" ... "+" ... "-" ..."
The 4th formula.
=IFS(B5=1,B4,B5=2,query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col1"), B5=3, query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&"|"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&"|"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&"|"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col2"), B5>=4, query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&"|"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col 2")&".*"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&"|"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&"|"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&".*"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 2")&"|"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&"|"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 2")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 1")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 1")&".*"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&".*"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 1")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&"|"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 1")&"|"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 1")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&"|"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 1")&".*"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 2")&"|"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 2")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&"|"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 2")&".*"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 1")&"|"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col 2")&"|"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 4")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 1")&"|"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 1")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&"|"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 1")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 2")&"|"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 2")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&"|"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 2")&".*"&query(SPLIT(B4, " "), "SELECT Col3")&".*"&query(SPLIT(B4, " "), "SELECT Col 1")&"|"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&".*"&query(SPLIT(B4, " "), "SELECT Col1")&".*"&query(SPLIT(B4, " "), "SELECT Col 2")&"|"&query(SPLIT(B4, " "), "SELECT Col4")&".*"&query(SPLIT(B4, " "), "SELECT Col 3")&".*"&query(SPLIT(B4, " "), "SELECT Col2")&".*"&query(SPLIT(B4, " "), "SELECT Col 1"))
Is there a way I can generate the 4th or more KW variant or maybe with something simpler that will input from 1 cell and output into 1 cell?
Thanks.