Well, here's a lambda I wrote for figuring out all the cells/ranges/range names that a formula in a cell refers to:
=LAMBDA(cell,LET(
TOKENIZEFORMULA, LAMBDA(formula_cell,LET(
Formula, FORMULATEXT(formula_cell),
Chars, MID(Formula,SEQUENCE(LEN(Formula)),1),
PriorChars, IFERROR(MID(Formula,SEQUENCE(LEN(Formula),,0),1),""),
PriorPriorChars, IFERROR(MID(Formula,SEQUENCE(LEN(Formula),,-1),1),""),
NextChars, IFERROR(MID(Formula,SEQUENCE(LEN(Formula),,2),1),""),
IsQuote, Chars="""",
QuoteCount, SCAN(0,IsQuote,LAMBDA(tot,x,tot x)),
NotInQuote, NOT(IF((QuoteCount=1)*IsQuote,FALSE,IF(ISODD( QuoteCount),TRUE,IF(IsQuote*(NextChars="""")*(QuoteCount>0),TRUE,FALSE)))),
IsOpenParen, (Chars="(")*NotInQuote,
IsCloseParen, (Chars=")")*NotInQuote,
IsNotExponent, NotInQuote*(((Chars=" ") (Chars="-"))>0)*(PriorChars="E")*NOT(ISERROR(VALUE(PriorPriorChars)))*NOT(ISERROR(VALUE(NextChars)))=0,
IsComparison, ((Chars="<") (Chars=">") (Chars="="))*NotInQuote*(PriorChars<>"")>0,
OperatorList, {" ";"-";"*";"/";"^";"&"},
IsOperator, BYROW(Chars,LAMBDA(x,OR(x=OperatorList)))*NotInQuote*IsNotExponent<>0,
IsOpenArray, (Chars="{")*NotInQuote,
IsCloseArray, (Chars="}")*NotInQuote,
ArrayCount, SCAN(0,IsOpenArray-IsCloseArray,LAMBDA(tot,x,tot x)),
InArray, ArrayCount>0,
IsArgSeperator, (Chars=",")*NotInQuote*(1-InArray)>0,
IsArrayColSeperator, (Chars=",")*InArray>0,
IsArrayRowSeperator, (Chars=";")*InArray>0,
IsWhiteSpace, ((Chars=" ") (Chars=CHAR(10)) (Chars=CHAR(13)))*NotInQuote>0,
TokenTypePass1, IFS((Chars="=")*(PriorChars=""),"Formula Begin",IsOpenParen,"Open Paren",IsCloseParen,"Close Paren",IsComparison,"Comparison",IsOperator,"Operator",IsOpenArray,"Open Array",IsCloseArray,"Close Array",IsArgSeperator,"Argument Seperator",IsArrayColSeperator,"Array Column Seperator",IsArrayRowSeperator,"Array Row Seperator",IsWhiteSpace,"White Space",TRUE,"Term"),
TokenTypePass2, IF(SCAN(0,TokenTypePass1,LAMBDA(tot,x,SWITCH(x,"Term",0,"Open Paren",1,"Argument Seperator",1,"Array Row Seperator",1,"Array Column Seperator",1,"Operator",tot 1,tot)))>1,"Term",TokenTypePass1),
TokenIndex, SCAN(0,IF((INDEX(TokenTypePass2,SEQUENCE(ROWS(TokenTypePass2),,0))=TokenTypePass2)*(PriorChars<>"")*(((TokenTypePass2="Term") (TokenTypePass2="Comparison") (TokenTypePass2="White Space"))>0),0,1),LAMBDA(tot,x,tot x)),
TokenTypes, LET(TokenTypeLookup,XLOOKUP(SEQUENCE(MAX(TokenIndex)),TokenIndex,TokenTypePass2),NextTokenType,XLOOKUP(SEQUENCE(MAX(TokenIndex)) 1,TokenIndex,TokenTypePass2,""),IF((TokenTypeLookup="Term")*(NextTokenType="Open Paren"),"Function",TokenTypeLookup)),
Tokens, BYROW(SEQUENCE(MAX(TokenIndex)),LAMBDA(x,TEXTJOIN("",,FILTER(Chars,TokenIndex=x)))),
Tokenized, MAKEARRAY(ROWS(TokenTypes),2,LAMBDA(x,y,IF(y=1,INDEX(TokenTypes,x),INDEX(Tokens,x)))),
Tokenized
)),
tokens, TOKENIZEFORMULA(OFFSET(cell,0,0,1,1)),
isterm, INDEX(tokens,,1)="Term",
activesheetname, MID(CELL("filename",INDIRECT("$A$1")),FIND("]",CELL("filename",INDIRECT("$A$1"))) 1,999),
cellsheetname, MID(CELL("filename",cell),FIND("]",CELL("filename",cell)) 1,999),
isaddress, IFERROR(CELL("address",INDIRECT(INDEX(tokens,,2))),IFERROR(CELL("address",INDIRECT("'"&cellsheetname&"'!"&INDEX(tokens,,2))),""))<>"",
relativetocell, INDEX(FILTER(tokens,isterm*isaddress),,2),
relativetoactivesheet, IF(ISERROR(FIND("!",relativetocell)),IF(ISERROR(CELL("address",INDIRECT(cellsheetname&"!"&relativetocell))),"'"&cellsheetname&"'!",cellsheetname&"!")&relativetocell,relativetocell),
removeactivesheet, IF((LEFT(relativetoactivesheet,LEN(activesheetname&"!"))=activesheetname&"!") (LEFT(relativetoactivesheet,LEN("'"&activesheetname&"!"))="'"&activesheetname&"'!"),MID(relativetoactivesheet,FIND("!",relativetoactivesheet) 1,999),relativetoactivesheet),
precedents, UNIQUE(removeactivesheet),
precedents
))