XLOOKUP is powerful, but small differences in the data can stop it finding the expected result. The most common issue is that the lookup value does not exactly match the values in the lookup array.
Start with the obvious checks
First, check that both ranges contain the same type of data. A number stored as text will not always match a numeric value. Remove leading or trailing spaces and check for hidden characters. Make sure the lookup array and return array cover matching rows.
What else to check
If you are seeing #N/A, test whether the value actually exists in the lookup range. You can also use the optional not-found argument to display a clearer message. For approximate matching, confirm the match mode is intentional.
When to get help
Send the formula and a sample of the data and get help diagnosing the lookup.