Mam skoroszyt programu Excel, który służy do tworzenia ofert dla klientów. Automatycznie generuje unikalny numer oferty na podstawie nazwy sprzedawcy, nazwy firmy otrzymującej ofertę, daty i numeru wydania (jeśli ten sam sprzedawca sporządza dwie osobne oferty dla tej samej firmy, dla tej samej firmy dzień, pierwszy będzie miał numer wydania 01, drugi będzie miał numer wydania 02 itd.)
Typowy numer oferty wypełniony informacjami pozorowanymi będzie wyglądał następująco:
JS-ABC-05052016-01
„JS” to inicjały sprzedawcy (John Smith.) „ABC” to pierwsze trzy znaki nazwy firmy (ABCompany.) „05052016” to dzisiejsza data, a „01” to numer wydania. To wszystkie informacje wprowadzone przez sprzedawcę.
Formuła używana w komórce, która generuje i wyświetla numer oferty, to:
=UPPER(LEFT(P4,1)&LEFT(P5,1)&"-"&LEFT(D11,3)&"-"&LEFT(K6,2)&MID(K6,4,2)&MID(K6,7,4)&"-"&D5)
Powyższa formuła pobiera fragmenty informacji wprowadzanych do komórek i kompiluje je w celu wygenerowania numeru oferty.
Występuje jednak problem, gdy pierwsze trzy znaki nazwy firmy zawierają spację lub znak specjalny. Na przykład nazwa firmy „AB Company” generuje następujący numer oferty:
JS-A. -05052016-01
Innym przykładem jest to, że nazwa firmy „A&B Company” wygenerowałaby następujący numer oferty:
JS-A i B-05052016-01
W dalszej części procesu ofertowego nazwa skoroszytu zostanie zmieniona, aby zawierała numer oferty. Może to powodować problemy, w których numer oferty zawiera znak specjalny, taki jak kropka (na przykład może zepsuć typ pliku).
Czy istnieje sposób, aby Excel ignorował jakiekolwiek znaki (w tym spacje) w nazwie firmy, które nie są literami lub cyframi? Na przykład utworzenie firmy o nazwie „A. & B. Firma ”generuje numer oferty:
JS-ABC-05052016-01
źródło
Odpowiedzi:
Myślę, że znalazłem odpowiedź dla ciebie
Alt + F11 - Wstaw - Moduł - Wklej.
Jeśli chcesz, możesz dodać więcej znaków specjalnych do tablicy. tutaj:
sSpecialChars = "\/:*?""<>|$&"
Następnie w swojej komórce wpisz:
=SUBSTITUTE(removeSpecial(A1)," ","")
wynikiem
a &b.company
jestab.company
Podziękowania dla autora, właśnie go znalazłem.
wtedy twoja formuła powinna być:
źródło
Niby ból, ale zastąp
=LEFT(D11,3)
w swojej funkcjiWięc jest to
Spowoduje to wyszukanie
.
, usunięcie i&
- dodanie innych, jeśli istnieją.źródło