@Felipereis50 I might take a closer look later. For now I can point you to this approach where I combined several rules over multiple columns and collected them as booleans which I then aggregated again in collection columns.
In this example you could combine negative and positive rules. Might look somewhat complicated but could be a start
Other than that you might resort to a massive combination of loops and have the rules maybe not hard coded but in a meta file.
To speed things up you could try parallel processing or streaming.