Sort the source table by the Date of next meeting.
Then for the first column of your table, you may refer to the following array formula and drag down to fill the rest(Remember to press Ctrl+Shift+Enter to make it an array formula. You may need to adjust the data range D2:D9 according to your data source.):
=TEXT(INDEX(E:E,SMALL(IF(($E$2:$E$9>=TODAY())*($E$2:$E$9<TODAY()+30),ROW($E$2:$E$9),4^8),ROW(E1)))&"","[>0]m/d/yyyy;")
For the other three columns, use the array formula below(Press Ctrl+Shift+Enter to make it an array formula. Adjust the data range if necessary.):
=INDEX(A:A,SMALL(IF(($E$2:$E$9>=TODAY())*($E$2:$E$9<TODAY()+30),ROW($E$2:$E$9),4^8),ROW(E1)))&""
Drag down and right to fill the table.
If you would like to do it in a separate sheet, for example, the original data is in Sheet1 and you want to create the new table in Sheet2, just modify the data range in the formulas, and press Ctrl+Shift+Enter to make it an array formula:
=TEXT(INDEX(Sheet1!E:E,SMALL(IF((Sheet1!$E$2:$E$9>=TODAY())*(Sheet1!$E$2:$E$9<TODAY()+30),ROW($E$2:$E$9),4^8),ROW(Sheet2!E1)))&"","[>0]m/d/yyyy;")
=INDEX(Sheet1!A:A,SMALL(IF((Sheet1!$E$2:$E$9>=TODAY())*(Sheet1!$E$2:$E$9