It would help to have the Excel file.
The ‘1 data raeading per hour’ request is open to intpretation.
First, convert the timestamps to a datetime array. Then, depending on what you want to do, you can either take a specific interval in every hour, or aggregate the data over every hour.
T1 = table(datetime(2023,03,01)+minutes(0:10:300).', randn(31,1), 'VariableNames',{'Timestamp','Sensor'})
T1 =
Timestamp Sensor
____________________ ________
01-Mar-2023 00:00:00 0.057252
01-Mar-2023 00:10:00 0.4544
01-Mar-2023 00:20:00 0.91079
01-Mar-2023 00:30:00 -0.83407
01-Mar-2023 00:40:00 1.745
01-Mar-2023 00:50:00 0.13078
01-Mar-2023 01:00:00 0.43101
01-Mar-2023 01:10:00 -0.2888
01-Mar-2023 01:20:00 1.5153
01-Mar-2023 01:30:00 1.317
01-Mar-2023 01:40:00 -0.56638
01-Mar-2023 01:50:00 -0.84528
01-Mar-2023 02:00:00 1.0693
01-Mar-2023 02:10:00 -0.68066
01-Mar-2023 02:20:00 1.6393
01-Mar-2023 02:30:00 -2.4429
EveryHour = T1(minute(T1{:,1})==0,:)
EveryHour =
Timestamp Sensor
____________________ ________
01-Mar-2023 00:00:00 0.057252
01-Mar-2023 01:00:00 0.43101
01-Mar-2023 02:00:00 1.0693
01-Mar-2023 03:00:00 -0.54088
01-Mar-2023 04:00:00 -0.16327
01-Mar-2023 05:00:00 -0.37763
HourlyMean = table2timetable(T1);
HourlyMean = retime(HourlyMean, 'hourly','mean')
HourlyMean =
Timestamp Sensor
____________________ ________
01-Mar-2023 00:00:00 0.4107
01-Mar-2023 01:00:00 0.26048
01-Mar-2023 02:00:00 0.29025
01-Mar-2023 03:00:00 -0.14756
01-Mar-2023 04:00:00 0.24564
01-Mar-2023 05:00:00 -0.37763
A bit of clarification of what you want to do would help.
.