I'm trying to achieve the following in Google Sheets.
Context - these are exported bank statements.
I have a sheet of lookup values (string, category).
String | Category |
---|---|
ABC | Cat1 |
DEF | Cat2 |
GHI | Cat3 |
I have another sheet of data, in particular 1 column which is Description.
Description | Amount |
---|---|
THE ABC SHOP TXN:1234567 | 100 |
THE ABC SHOP TXN:3456789 | 200 |
DEFINITELY ANOTHER SHOP REF: 1293891 | 500 |
The strings in the first sheet are to look up against as the Descriptions that contain both static and dynamic identifiers in the same column. In particular I need to assign that row a category based on the description against the sheet of regexes I have constructed so that I can do a pivot table against the data for reporting.
Description | Amount | Category |
---|---|---|
THE ABC SHOP TEXAS TXN:1234567 | 100 | Cat1 |
THE ABC SHOP DALLAS TXN:3456789 | 200 | Cat1 |
DEFINITELY ANOTHER SHOP HOUSTON REF: 1293891 | 500 | Cat2 |
Ideally this would also be a ARRAYFORMULA.
I can't use a VLOOKUP because that's only works for a exact match.
I've also tried INDEX/MATCH but that causes issues if I try to put a REGEXMATCH inside the expression as I can't put in a range in the REGEXMATCH.
In a way I guess this is a reversed VLOOKUP but instead of finding a match on a target range, I want to find the row of first value that is contained within the source value.