google sheets – vlookup with multiple output and combining filter() with arrayformula()

I have 2 sheets : shot and deadline.

This is my shot sheet :

enter image description here

and this is the deadline sheet :
enter image description here

So in the deadline sheet, it’s based on the dates. It will pull the shotid from shot sheet.

in A2 of deadline sheet , i use :

=ifna( filter(shot!$A$2:$A, shot!$B$2:$B=A$1) ,)

Then i copy the formula to B2:2. The image2 above is the ideal output i’m looking for. The formula works fine, but i want to make a single arrayformula().

My first trial to use arrayformula() with the previous filter() :

=arrayformula( ifna( filter(shot!$A$2:$A, shot!$B$2:$B=A$1:$1) ,))

and it returns error. Filter() doesn’t work together with arrayformula. So i second trial is using vlookup :

=arrayformula( ifna( vlookup( A$1:$1,{ shot!$B$2:$B, shot!$A$2:$A },2,0) ,))

it will give me only 1 output per column. The vlookup only find the first match :
enter image description here

Can anyone help me ? is it possible to use arrayformula() for this case ?