Stop wrestling with XLOOKUP. The workaround you're using, concatenating criteria into a single lookup value, is a clever trick, but it is also the reason your file is crawling. For 150,000 rows, that formula is forcing Excel to create a temporary array in memory every single time it calculates. It works, but it works slowly, and you deserve better.
The practical fix is a helper column. Create a single column in your source data that concatenates your lookup values (E1&F1), then run your XLOOKUP against that column. This moves the concatenation from a volatile, per-cell calculation into a static value that Excel can index efficiently. For four or five criteria, the same logic applies: build one helper column, not a monster formula. The performance gain is immediate and dramatic.
But let's be honest: this is a bandage on a broken workflow. You are building a spreadsheet that behaves like a database, and spreadsheets are not built for that. The moment you are concatenating five criteria across 150,000 rows, you have outgrown the tool. That is not a failure on your part, it is a signal that your data deserves a more capable environment. An AI-native spreadsheet can handle multi-criteria lookups without helper columns, without array formulas, and without grinding your machine to a halt. It understands relationships between columns natively, so you can ask for the result you need without engineering workarounds.
Stop optimizing a workaround. Start exploring a tool that doesn't require one. The helper column will get you through today. The real solution will get you through the next hundred thousand rows.