Google-sheets – IF and IFS not working properly

concatenateformulasgoogle sheetsgoogle-sheets-arrayformularegex

I am trying to locate data present in different sheets. I have tried using IF and IFS.
Below are the formulas I have used. For IF, I get NOT IN USE even when I know there should be one of the sheets and I get NA for IFS except 2 cell which gives the correct answer.
What am I doing wrong or is there any other way for it.

=IFS(B2=Casula!$A:$A,"CASULA",B2=Miranda!$A:$A,"MIRANDA",B2=Parramatta!$A:$A,"PARRA",B2=Leichhardt!$A:$A,"LEICHHARDT",B2=Penrith!$A:$A,"PENRITH",B2=Bradbury!$A:$A,"BRADBURY",B2=Revesby!A:A,"REVESBY",B2=Darlinghurst!$A:$A,"DARLING",B2=StMarys!A:A,"STMARYS",B2=SurryHills!$A:$A,"SURRY")


=IF(B2=Casula!$A:$A,"Casula",IF(B2=Miranda!$A:$A,"Miranda",IF(B2=Parramatta!$A:$A,"Parra",IF(B2=Leichhardt!$A:$A,"Leich","NOT IN USE"))))

Sample sheet

Best Answer

=ARRAYFORMULA(IF(LEN(B2:B),
 IF(REGEXMATCH(B2:B, TEXTJOIN("|", 1, Casula!A:A)),       "Casula",
 IF(REGEXMATCH(B2:B, TEXTJOIN("|", 1, Miranda!A:A)),      "Miranda",
 IF(REGEXMATCH(B2:B, TEXTJOIN("|", 1, Parramatta!A:A)),   "Parra",
 IF(REGEXMATCH(B2:B, TEXTJOIN("|", 1, Leichhardt!A:A)),   "Leich",
 IF(REGEXMATCH(B2:B, TEXTJOIN("|", 1, Penrith!A:A)),      "Penrith",
 IF(REGEXMATCH(B2:B, TEXTJOIN("|", 1, Bradbury!A:A)),     "Bradbury",
 IF(REGEXMATCH(B2:B, TEXTJOIN("|", 1, Revesby!A:A)),      "Revesby",
 IF(REGEXMATCH(B2:B, TEXTJOIN("|", 1, Darlinghurst!A:A)), "Darling",
 IF(REGEXMATCH(B2:B, TEXTJOIN("|", 1, StMarys!A:A)),      "Marys",
 IF(REGEXMATCH(B2:B, TEXTJOIN("|", 1, SurryHills!A:A)),   "SurryHills",
 "NOT IN USE")))))))))), ))

0

spreadsheet demo