30.01.16, 12:07
Dla fachowca pikuś, dla mnie problem. Jaka formuła do zamiany np. 2b na IIb. Będę wdzięczny za konkretną odpowidź. Z góry dziękuję.
Obserwuj wątek
    • der-chef Re: Excel 30.01.16, 12:09
      Zapomniałem dodać że funkcja =RZYMSKIE(A1:0) nie działa ze względu na literkę po cyfrze.
    • wariant_b Re: Excel 30.01.16, 17:01
      =ZŁĄCZ.TEKSTY(RZYMSKIE(WARTOŚĆ(LEWY(A1;1));0);PRAWY(A1;1))
      zakładając, że w A jest zawsze zapis w postaci <cyfra><litera> np. numer klasy szkolnej.

      Jeśli liczba może być dwu- lub więcej cyfrowa, to formuła będzie nieco dłuższa:
      =ZŁĄCZ.TEKSTY(RZYMSKIE(WARTOŚĆ(LEWY(A1;DŁ(A1)-1));0);PRAWY(A1;1))
      • der-chef Re: Excel 30.01.16, 17:27
        Serdecznie dziękuję, zaraz zaczynam zabawę. Excel to jednak fascynujące narzędzie.
        • wariant_b Re: Excel 30.01.16, 18:11
          Funkcja RZYMSKIE() nie działa, bo zawartość "2b" jest tekstem, a funkcja dotyczy liczb.
          Dlatego musimy wyodrębnić część liczbową za pomocą funkcji LEWY(), ale dalej mamy tekst "2",
          który sopiero funkcją WARTOŚĆ() zamieniamy na liczbę 2. Teraz można już użyć RZYMSKIE().
          Otrzymamy tekst "II" do którego trzeba dodać funkcją PRAWY() zgubioną wcześniej literkę "a"
          i połączyć to przez ZŁĄCZ.TEKSTY().

          Konwersje liczbowo-tekstowe w Excelu to jeszcze pryszcz w porównaniu z operacjami na czasie.
          • der-chef Re: Excel 31.01.16, 08:38
            Jeszcze raz bardzo dziękuję za wyczerpującą odpowiedź. Wszystko działa jak należy.
            • mariner4 Re: Excel 31.01.16, 10:12
              Możne też zdefiniować funkcję w VBA. Dowolnie ją nazwać i ona będzie w funkcjach użytkownika. Wtedy nie trzeba pisać formuły, tylko ją przywołać.
              M.
              • wariant_b Re: Excel 31.01.16, 13:29
                Można, ale nie warto.

                VBA nie ma odpowiednika funkcji RZYMSKIE(), a zarówno jej samodzielne napisanie w basicu
                jak i wykorzystanie istniejącej funkcji Excela są bardziej skomplikowanym zadaniem, niż
                złożenie dość skomplikowanej formułki. Zresztą zamiast składać złożoną formułę, można
                użyć dodatkowych pól roboczych (kolumn) z prostymi formułami i ukryć je w arkuszu.
                A1: 2b | tekst wprowadzony "2b"
                A2: =LEWY(A1;1) | tekst "2"
                A3: =WARTOŚĆ(A2) | liczba 2
                A4: =RZYMSKIE(A3;0) | tekst "II"
                A5: =PRAWY(A1;1) | tekst "b"
                A6: =ZŁĄCZ.TEKSTY(A4;A5) | tekst wynikowy "IIb"

                Jeśli decydujemy się na programowanie, lepiej już skorzystać z Accessa zamiast Excela.
              • Gość: pix Re: Excel IP: *.army.mil.pl 02.02.16, 11:41
                Tylko że funkcje użytkownika nie przeliczają się same. Musimy wymusić przeliczenie.

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka