ビットマスク 覚書

古くから使われる、2^0,2^1,2^2,2^3(1,2,4,8,16・・・・・)の合計で状態を表すという発想。

例えば、集計するのに、項目が複数の集計グループに含まれるときなど、項目が属する集計グループを一つのフィールドで登録できる。

結果の取り出し方法。
対象値を検索値*2で除した余りが検索値以上であればTrue

ワークシート関数なら、
=MOD(対象値, 検索値 * 2) >= 検索値

集計グループの検査値で、各項目の登録値を、この関数で調べてTrueなら集計する。
VBAでももちろん可能。

と思ったけど、ビット演算でANDでマスクしたら終わり。
対象値と検索値でANDでとり、結果が検索値と同じならTrue