The request here is practical, but it points at something bigger: the difference between filtering data and actually controlling it. The user wants to replace specific words with "Other" while keeping the filter logic intact. That is not a niche ask. It is a signal that people are no longer satisfied with tools that simply hide information. They want tools that reshape it, classify it, and make it meaningful on the fly. The function as written already does the heavy lifting, pulling out keywords like APPLE, BANANA, GRAPES, and PINEAPPLE from a text string. But the moment the goal shifts from "show me what matches" to "show me what matters, and label the rest," the whole mindset changes.
What the user is really describing is a need for conditional logic inside an already powerful formula. Instead of just filtering, they want to map matched terms to a new value, then preserve the unmatched terms as "Other." That is not a limitation of the spreadsheet. It is an opportunity to think in terms of data transformation rather than data extraction. The solution is straightforward: wrap the filter logic in a MAP or use IFERROR with a lookup that returns "Other" for any keyword that does not match. The structure of the LET function already supports this. You can add a step that checks each word against the keyword list, returns the word if it matches, and returns "Other" if it does not. The user just needs to see that the same function that filters can also categorize.
This matters because it reveals a broader truth about how people want to work with data today. They do not want to manually scrub text or build complex workarounds. They want the tool to understand the intent behind the request. The fact that someone is asking this question on a forum means they are already pushing the boundaries of what they think is possible. They are not looking for a one-off fix. They are looking for a pattern they can reuse across different columns, different datasets, and different problems. That is the kind of thinking that separates people who use spreadsheets from people who build systems with them.
So here is the practical takeaway: the formula you have is a good start, but it is only the beginning. Add a MAP function to check each word individually, then use IF to return the word or "Other." The structure will look something like this: inside the LET, create a new variable that maps over the filtered text, checks if each word exists in the keyword list, and returns the word or "Other" accordingly. Then join that result. You will end up with exactly what you asked for, and you will have a template for any future replacement task. Do not stop at filtering. Start categorizing. That is where the real power lives.