Googleスプレッドシート備忘録4(query関数 not match)

スプレッドシート素人です。
マイクロソフトとグーグル
エクセルとスプレッドシートの違いに翻弄されています。

はまったことの備忘録です。

/////////////////////////////////////////////////////
<ここしばらくのテーマ>(フォーム→スプレッドシート→サイトの連携)
他人の作ったgoogleフォームとその回答(スプレッドシート)を見せてもらった。
(どんなフォームかは省略しますが、タイムスタンプと職員番号とアンケート内容が主)

フォームの回答1シート以外に、シートを作成して、query関数で区分。
さらにその結果をグラフ(表)としてgoogleサイトに連携しているようだ。

それらを自分なりに見ていく、再現しようと思う。

///////////////////////////////////////////////////前回
query関数で、回答を条件別に抽出

A列のタイムスタンプを使って、今日以降のデータを抽出
さらに職員番号の1001番から2001番を抽出
query('フォームの回答 1'!A:H,"where A >= date '"&TEXT(TODAY(),"YYYY-MM-DD")&"' and B>1000 and B<2000 order by B asc",1)


///////////////////////////////////////////////////


今回:
名簿を比較して、未提出者を抽出

準備
前回シートの空き列Gに、名簿を作成
(こんな感じ)
番号
101
102
103
104
105
106
107
108
109
110

H1セルに、未提出者と記入し、
H2セルに
=Query(G2:G200,"where not G MATCHES '^("& JOIN("|",B2:B200)&")$'")
と入力。

そうすると、G列と名簿とB列の抽出結果と不一致なものを
H2セル以下に表示。

'^("& JOIN("|",B2:B200)&")$'")
の^と$は、完全一致らしいが、省略も可(デフォルトが完全一致のため)。

JOIN("|",B2:B200)
で、B列の抽出結果を文字列にして、比較しているようだ。
(101|102|103|みたいに。)


参考:下記のHPに記載ありました。感謝いたします。

いきなり答える備忘録
(Gスプレッドシート)QUERY関数でのIN及びNOT INの代替手段