We usually don't have to conceptualize it this way, but in the "conditions" part of FILTER, we're actually setting up an array of TRUE or FALSE results to control whether each input row makes it through the filter. Perhaps take advantage of that and negate the Booleans outside the REGEXMATCH?
=FILTER(Planning!G$5:G$37; NOT(REGEXMATCH(Planning!G$5:G$37; "a"))...
I had a situation to randomly pick M or F in a column. I used this formula in Google Sheets:
=IF(RANDBETWEEN(1,2) = 1,"M","F")
Crude way, certainly not for long lists, but it works if your set of values is small.