AND and OR don't work with ARRAYFORMULA because they already have potential array->scalar scope - AND(array) ANDs the whole array together and returns a single value, for instance.
Instead use multiplication (AND) or addition (OR).
Eg array-ise AND(condition1, condition2) as ARRAYFORMULA((condition1)*(condition2)>0)
This isn't a peculiarity of ARRAYFORMULA so much as a (possibly) unexpected APL-style extra functionality of AND and OR.
There is a similar problem with any function which can take a range or a single value - eg MAX - because it will get to the A4:A style reference before ARRAYFORMULA does. Eg if you have ARRAYFORMULA(MAX(A4:A, 4)) intending ARRAYFORMULA to use A4:A to iterate over, it won't work because MAX will take the maximum of A4:A.
In those cases I don't think there's a simple workaround.
Anti-nuisance lawsuit warning: The purpose of these notes is to remind me, Zoegond, of stuff or to help me work stuff out. They may contain mistakes.
Quick
- ($a, $b....) = unpack("A2A7...", $packed)
- push( array, list )