|Women's World Twenty20 Group B, Sylhet:|
|India 121-1 (17.4 overs) beat West Indies 117-7 (20 overs) by nine wickets - Scorecard|
|Bangladesh 115-9 (20 overs) beat Sri Lanka 112-9 (20 overs) by three runs - Scorecard|
England will face South Africa in Mirpur on Friday in the semi-finals of the Women's World Twenty20.
India's shock nine-wicket win over West Indies, who had already qualified for the last four, means England finished top of Group B and meet South Africa, who were the Group A runners-up.
West Indies, Group B runners-up, face Group A winners Australia on Thursday.
England have never lost to South Africa in Twenty20 internationals, with seven wins and one no-result against them.
They have also won their last 15 one-day international meetings with South Africa, dating back to February 2004.
However, England will be on their guard after South Africa pulled off an upset by beating New Zealand by five wickets on Monday in their final group game to qualify for the semis ahead of the White Ferns on net run-rate.
West Indies, who beat England by nine runs in their opening game, had been favourites to beat India - a result which would have paired England with holders Australia in the last four.
The Windies lost opener Kycia Knight to the first ball of the match but the big-hitting Deandra Dottin (57) helped them to 87-2 before her dismissal triggered a collapse and they finished on 117-7.
Openers Mithali Raj (55 not out) and Poonam Raut (56) nearly took India all the way without losing a wicket as West Indies used eight bowlers in vain.
Raut fell with the scores level, but India won with 14 balls to spare.
In Tuesday's other game, hosts Bangladesh recorded their first win of the tournament, narrowly beating Sri Lanka by three runs.