Roger:
A bit late but hope the following helps.
SetDirectory[$UserDocumentsDirectory];
data = Transpose[
Delete[Transpose
[ReplaceAll[
Import["BP_readings_mathematica_test.xlsx",
{"Data", 2},
HeaderLines -> 1,
"EmptyField" -> Missing[]],
{" --" -> Missing[],
" -" -> Missing[], {Missing[], Missing[], Missing[], Missing[],
Missing[], Missing[], Missing[]} -> Nothing}]] ,
3]
];
bprange[s_, d_] := Which[
And[LessEqual[s, 120], LessEqual[d, 80]],
RGBColor[0.65, 0.81, 0.22],
And[Between[s, {121, 129}], LessEqual[d, 80]], RGBColor[1, 0.93, 0],
Or[Between[s, {130, 139}], Between[d, {81 , 89}]],
RGBColor[1, 0.71, 0],
Or[Between[s, {140, 179}], Between[d, {90 , 119}]],
RGBColor[0.73, 0.23, 0.01],
Or[GreaterEqual[s, 180], GreaterEqual[d, 120]],
RGBColor[0.6, 0.03, 0.07]
];
createBPseries[{date_, time_, systolic_, diastolic_, pulse_,
comment_}] := {
Tooltip[
Style[
{
DateObject[
Join[DateValue[date, {"Year", "Month", "Day"}],
DateValue[time, {"Hour", "Minute", "Second"}]
]
],
Interval[{systolic, diastolic}]
}, bprange[systolic, diastolic]],
comment]};
{women1839, men1839, women4059, men4059, women60,
men60} = {{110, 68}, {119, 70}, {122, 74}, {124, 77}, {139,
68}, {133, 69}};
fixeddata = createBPseries /@ data;
DateListPlot[Flatten[fixeddata],
Joined -> False,
PlotRange ->
MinMax[Flatten[Transpose[{data[[All, 3]], data[[All, 4]]}]]] + {-5,
5},
AspectRatio -> 1/GoldenRatio,
IntervalMarkers -> "Bars", IntervalMarkersStyle -> Thick,
GridLines -> {None, men4059}
]
Changing {"Data", 2},
to {"Data", 1},
gets the first sheet instead of he second sheet of your spreadsheet.