Hej,
Na dobrą sprawę inaczej zrobić się tego nie da, bo w funkcji fragment.tekstu nie da się zdefiniować filtrowania, które wyrzucałoby samogłoski. Chociaż…
Możliwe jest użycie połączenia funkcji fragment.tekstu, złącz.teksty, wyszukaj.pionowo i jeżeli, ale przyznam szczerze, że to oznacza naprawdę dużo, dużo klepania… 
Tworzymy najpierw tabelę, w której wpisujemy wszystkie litery (dajmy, że to kolumna D), a w kolumnie obok definiujemy, czy dana litera jest samogłoską czy spółgłoską. Tak otrzymujemy tabelę o zakresie powiedzmy D1:E40.
W kolumnie A wpisujemy nazwiska, a kolumna B będzie zawierać kod klienta, czyli nazwisko pozbawione samogłosek. Dla pierwszej litery nazwiska warunek, sprawdzający literę i zwracający jej wartość, gdy nie będzie samogłoską, jest następujący:
=JEŻELI(WYSZUKAJ.PIONOWO(FRAGMENT.TEKSTU(A1;1;1);$D$1:$E$40;2;FAŁSZ)="SAMOGŁOSKA";"";FRAGMENT.TEKSTU(A1;1;1))
Dla kolejnych liter nazwiska analogicznie (zmienia się tylko drugi argument w funkcji fragment.tekstu):
=JEŻELI(WYSZUKAJ.PIONOWO(FRAGMENT.TEKSTU(A1;2;1);$D$1:$E$40;2;FAŁSZ)="SAMOGŁOSKA";"";FRAGMENT.TEKSTU(A1;2;1))
By otrzymać gotową formułę, powyższe formuły - dla maksymalnie długiego nazwiska - należy umieścić w formule złącz.teksty, w poniższy sposób (formuła jest przygotowana dla 5-literowego nazwiska):
=ZŁĄCZ.TEKSTY(JEŻELI(WYSZUKAJ.PIONOWO(FRAGMENT.TEKSTU(A1;1;1);$D$1:$E$40;2;FAŁSZ)="samogłoska";"";FRAGMENT.TEKSTU(A1;1;1));JEŻELI(WYSZUKAJ.PIONOWO(FRAGMENT.TEKSTU(A1;2;1);$D$1:$E$40;2;FAŁSZ)="samogłoska";"";FRAGMENT.TEKSTU(A1;2;1));JEŻELI(WYSZUKAJ.PIONOWO(FRAGMENT.TEKSTU(A1;3;1);$D$1:$E$40;2;FAŁSZ)="samogłoska";"";FRAGMENT.TEKSTU(A1;3;1));JEŻELI(WYSZUKAJ.PIONOWO(FRAGMENT.TEKSTU(A1;4;1);$D$1:$E$40;2;FAŁSZ)="samogłoska";"";FRAGMENT.TEKSTU(A1;4;1));JEŻELI(WYSZUKAJ.PIONOWO(FRAGMENT.TEKSTU(A1;5;1);$D$1:$E$40;2;FAŁSZ)="samogłoska";"";FRAGMENT.TEKSTU(A1;5;1)))
Ewentualnie zostaje makro z kopiowaniem wartości i zamianą zdefiniowanych jako samogłoski liter.
Pozdrawiam,
Dimatheus