This user is asking the wrong question. They want to know how to write a filter formula that handles multiple categories in one cell, but the real problem is that their spreadsheet was never designed to be searched in the first place. When a Microsoft Form dumps data into a single cell as a comma-separated list, that cell is not a category field, it is a storage container. The user is now fighting the tool because the tool was built to collect answers, not to retrieve them intelligently.
The practical fix is straightforward. Instead of trying to make `=FILTER` match partial strings with wildcards, they need to change how the data is structured before the filter runs. A helper column using `ISNUMBER(SEARCH(B2, F:F))` will return `TRUE` for any row where the search term appears anywhere inside the category cell, even if other categories are present. That single change transforms their rigid exact-match filter into a flexible search. No new software, no complex formulas, just a shift from "equals" to "contains."
But here is the deeper point. This user is working within a system that treats every row as a single-entry record, when their actual workflow demands that rows be findable by multiple attributes. That tension is not a formula problem; it is a design problem. The Microsoft Form is optimized for collection speed, not retrieval flexibility. The user is experiencing the gap between data entry and data discovery. Every spreadsheet user eventually hits this wall, and the instinct is to look for a more clever formula. The smarter move is to step back and ask whether the tool should be doing the filtering at all, or whether the data should be normalized into a proper relational structure first.
Our opinion is plain: do not make the spreadsheet do something it was never built for. If your resource guide needs to support multi-category searches, restructure the data so each category gets its own row, or use a lookup approach that treats the category cell as a text string to be searched, not a value to be matched. The formula `=FILTER(Resources!F3:O100, ISNUMBER(SEARCH(Search!B2, Resources!F3:F100)), "")` will work today. But the real win comes when you stop asking how to filter around the problem and start asking how to design your data so the problem never appears.