The question is not full-explained, so the answer is based on this assumption:
for each distinct date and for each distinct name the source range contans exactly one data row. Thus we will not take care of possible data aggregation.
The image below is useful to explain the solution.

Row headers array in E4:E6 is filled by the formula =UNIQUE($B$1:$B$6)
, because we should avoid duplicates. The formula is for the cell E4.
Column headers array with dates are calculated by a similar formula with additional transposition =TRANSPOSE(UNIQUE($A$1:$A$6))
in the cell F3.
At last, data cells F4:G6 have the same logics and their formula can be expanded by copying from the cell F4. The result should be found in column C using 2 keys for A and B columns. There is no "VLOOKUP-like" function to do that directly, so we use filtering before VLOOKUP.
More information about these functions can be found here: VLOOKUP, FILTER.