Excel – jak zrobić ukryte liczby pod postacią liter i jak wymusić wielkie litery w pustych komórkach?

Witam. Chcę zrobić w excelu te dwie poniższe rzeczy. Używam WPS Office jeśli to ma znaczenie. Bardzo proszę o wyjaśnienie jak tego dokonać, o ile w ogóle się da.

  1. Umiem używać funkcji SUM, ale czy jest możliwość, żeby wybrane litery odczytywało jako wybrane wartości, np.
    Literka „J” będzie jak ukryta liczba 10, tylko pod postacią literki „J”. Literka „V” to liczba 17, natomiast „E” to liczba 43. I z prawej strony w ostatniej komórce liczy sumę, tak jak funkcja SUM, tylko zamiast zwykłych cyfr to uwzględnia cyfry ukryte w literkach. Oczywiście w tej ostatniej komórce gdzie liczy sumę, to już zwykłe cyfry. Poniżej zamieszczam obrazek o co mi chodzi.

  2. Jak zrobić, żeby przy pisaniu tekstu w komórce, tekst był zawsze wielkimi literami. Tylko nie chodzi mi o funkcję UPPER, ponieważ ta funkcja zamienia na wielkie litery ten już wpisany tekst i ta funkcja nie działa na pustych komórkach. A Ja mam na myśli, że jak kliknę w pustą komórkę i będę pisał, to od razu będą wielkie litery.

To powodzenia :stuck_out_tongue_winking_eye:

To jeszcze pewnie potrzebne jakieś makro do zmiany liter na żywo (by nie bawić się w stylizacji komórek na „kapitaliki”).

Prawie udało mi się zrobić to czego oczekuję z instrukcji którą podał wyżej użytkownik Bradlee. Dlaczego prawie? Otóż ostatnia komórka (ta w której wpisana jest funkcja) nie sumuje. Sporządziłem taki kod:

=IF(A5="J",10,IF(B5="J",10,IF(C5="J",10,IF(A5="V",17,IF(B5="V",17,IF(C5="V",17,IF(A5="E",43,IF(B5="E",43,IF(C5="E",43,"")))))))))

I w ostatniej komórce (w tej co wpisałem funkcję) powinna być liczba 70 (J+V+E), a brana jest pod uwagę tylko jedna liczba, chyba z pierwszej komórki A5, czyli wyłącznie 10. Próbowałem użyć funkcji SUM, ale nie zadziała w tym przypadku, bo ta funkcja widzi to jako literki a nie cyfry. Zatem jak zrobić, żeby te ukryte liczby w literkach się sumowały?

Bardzo bym prosił o rozwiązanie problemu z sumowaniem tych liczb pod postacią literek. Kod jaki napisałem podałem wyżej i zamiana podanych literek na podane cyferki działa świetnie, tylko nie sumuje. Zamiast sumować to wyświetla tylko liczbę od jednej literki z jednej komórki. Jak zrobić, żeby sumowało? Podkreślam to co napisałem wyżej, że próbowałem funkcji SUM oraz SUMIF i żadna nie chce zadziałać, bo w komórkach są literki a nie liczby. Bardzo zależy mi na sumowaniu jak wpiszę więcej niż jedną podaną literkę z ukrytą liczbą.

W sumie powinienem podpowiedzieć Ci funckję IFS zamiast IF How to Use IFS Function in Excel: Easy Steps | WPS Office Blog

Nie mam WPS Office, ale w LibreOffice ta funkcja nazywa się „WARUNKI” a składnia jest chyba identyczna

=WARUNKI(A1="J";10;A1="V";17;A1="E";43)+WARUNKI(B1="J";10;B1="V";17;B1="E";43)+WARUNKI(C1="J";10;C1="V";17;C1="E";43)

Jeżeli chcesz, żeby wynik nie był zależny od wielkości litery, to zrób tak:

=WARUNKI(LITERY.WIELKIE(A4)="J";10;....

W WPS Office ta funkcja nazywa się UPPER - How to change case in Excel | WPS Office Academy

Czyli u Ciebie to powinno wyglądać jakoś tak

=IFS(UPPER(A4)="J";10;....

Jeżeli funkcja IFS zwróci błąd, bo nie będzie żadnego dopasowania (np komórka z wartością będzie pusta) to możesz przerobić taki błąd na zero funkcją Iferror, czyli

=IFERROR(IFS(UPPER(A4)="J";10;....);0)+...

Może można to jakoś prościej zrobić ale na teraz nie mam pomysłu. Pewnie bardziej czytelnym rozwiązaniem byłoby napisanie funkcji w języku skryptowym WPS Office.

Bardzo dziękuję, właśnie o to chodziło. Tylko, żeby to zadziałało w WPS Excel, to musiałem zmienić nazwę funkcji na angielską i zamiast średnika, to dać przecinek. Czyli wygląda to tak:

=IFERROR(IFS(A1="J",10,A1="V",17,A1="E",43),0)+IFERROR(IFS(B1="J",10,B1="V",17,B1="E",43),0)+IFERROR(IFS(C1="J",10,C1="V",17,C1="E",43),0)

A potrafisz może pomóc z punktem drugim, który opisałem w poście pierwszym?

Cieszę się, że działa. Nie widzę prostej metody na automatyczną zamianę małych liter na wielkie. Może dałoby się to ogarnąć językiem skryptowym WPS Office, ale niestety go nie znam.

Możesz zastosować sztuczkę z czcionką. Tzn dla komórek ustawiasz czcionkę, która ma tylko wielkie litery. Zobacz porada nr 3 " ALL CAPS FONT" → How to Change Letter Case in Excel (3 ways including NO Formulas) - Xelplus - Leila Gharani

Np ta wygląda nieźle Bebas Neue - Google Fonts - i dodałbym jeszcze w IFS funkcję UPPER, tak jak pisałem powyżej. W przeciwnym razie jak ktoś wpisze małą literę, to nawet tego nie zauważysz a obliczenia będą błędne, jednak błąd nie zostanie zgłoszony - bo IFERROR zwróci zero.

Ewentualnie w IFS możesz zrobić warunek dla kolumny pustej

IFS(A1="",0,UPPER(A1)="J";10;...

i usunąć IFERROR. Wtedy pusta komórka nie wywoła błędu ale wpisanie czegoś niedozwolonego, jak np literka Z - już tak.

Przepraszam, że dopiero teraz odpisuję. Dziękuję za pomysł z czcionką z samymi wielkimi literami.

Ale właśnie ten kod który podałem w swoim poprzednim poście, to bez funkcji UPPER akceptuje w liczeniu i małe i wielkie litery. Sprawdziłem kilka razy, wpisywałem różnie na przemian i małe i wielkie litery i komórka z wpisanym kodem funkcji (ale bez UPPER) normalnie w liczeniu uwzględnia i małe i wielkie litery. Czy czasami się Bradlee nie pomyliłeś, może o coś innego Ci chodziło?

Dziękuję, ale takiego efektu nie chcę mieć, bo czasem będę musiał wpisać inną literkę, której nie chciałbym uwzględniać w liczeniu.

Nie sprawdzałem jak to działa w WPS, najwidoczniej wielkość liter nie ma znaczenia, czyli dobrze. Problem można uznać za rozwiązany :slight_smile:

Ten temat został automatycznie zamknięty 30 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.