The striker, who turns 40 on Sunday, has played only once this season for AC Milan, scoring as a substitute in a win over Lazio last month.
He ended a near five-year retirement from international football in March with the aim of playing at Euro 2020, but missed the tournament with a knee injury.
“Unfortunately, is not far enough in his recovery to be able to play in the next matches,” Sweden coach Janne Andersson said in a statement. “It’s a shame for us, and a shame for Zlatan too of course.”
The Swedes sit second in qualifying Group B, four points behind Spain but with two games in hand.
(article continues below)
See also on The Local:
Ibrahimovic is his country’s all-time record scorer with 62 goals in 118 appearances, but has not found the net in international football since 2015.
Sweden have called up Viktor Gyokeres in his place. Gyokeres, who won the second of his two caps in 2019, has scored nine goals in 11 games this season for English second-tier side Coventry.