Bo w ten sposób stworzy listę UNIKALNYCH słów w tekście całym. Najlepiej jeszcze wcześniej potraktować je funkcja konwerstującą wszystkie do lowercase by "jakoś" było uznane za to samo co "Jakoś".
A więc lecąc od początku. Przyjmując za $text całość tekstu:
1) preg_replace wszystkich znaków interpunkcyjnych na pusty w $text i dla pewności zamiana wszelkich wielokrotnych spacji na pojedynczą też wyrażeniem regularnym, a już dla kompletności trim i strtolower.
2) explode $text do tablicy $array_text po spacji
3) $unique jako wynik array_unique na $array_text
4) ten krok można rozwiązać na kilka sposobów bo algorytmów zliczania na tę chwile już kilka wymyśliłem, ale podam tu dwa
ver. 1) array_keys na "oczyszczonym" $text z punktu 1) używając każdego elementu z $unique a potem count() na owym wyniku i wpis do tablicy
ver. 2) posortowanie $array_text i tak posortowana zmienna już łatwo może posłużyć do liczenia. Jeden przebieg w pętli foreach z if dodającym 1 do aktualnego słowa lub zamieniającym na nowe z licznikiem równym 1
Tak czy inaczej ważne by tworzyć tablicę par "słowo" => ilość_wystąpień
5) Posortowanie tablicy według wartości.
6) Tego chyba nie muszę już tłumaczyć?
I niech mi ktoś jeszcze napisze, że tego nie rozumie bo chyba ugryzę

Nie można już prościej wytłumaczyć

Do odczytu xls trzeba napisać albo własny parser albo szukać gotowców (
http://sourceforge.net/projects/phpexcelreader/,
http://www.tutorials.pl/2009/02/php-excel-...der-generator/). Więcej chyba już nie powinno Ci być potrzebne do napisania.