=INDEX(Sheet1!$C:$C,SMALL(IF((Sheet1!$R$4:$R$500<>"")*(MONTH(Sheet1!$R$4:$R$500)=$D$1),ROW($4:$500),1000),ROW(A1)))&"" 这样试一下 MONTH() 空单元格时为1是正常的,因为空单元格默认为0值,而在EXCEL中规定,0的对应日期就是1900年1月0日