Introduce #N/F as a new ERROR.TYPE besides #/A
With the arrival of XLOOKUP() there is a real need for a new error.type that can distinguish a criteria not matched or not found from a non available value #N/A.
I suggest that a new #N/F i.e. a not found error be added and ERROR.TYPE(#N/F) would give ... 9, i.e. just after error.type 8 (#GETTING_DATA).
Besides ISNA() we could have also ISNF()
One must also think of what would return ISERR() and ISERROR() and what IFERROR() would do.
Kenneth Barber commented
I don't think that introducing a new error type would necessarily solve much. If you are worried about distinguishing an #N/A in the data from an #N/A due to a match not being found, XLOOKUP has an if_not_found argument just for that. Also, keep in mind that there is always the possibility of #N/F appearing in the data being looked up, and you would still need a way to distinguish the #N/F in the data from the #N/F due to a match not being found.