logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Exel] pętla w formule. Jak wykonać operację dla wszystkich wartości?

blue_17 08 Paź 2011 23:03 12798 16
REKLAMA
  • #1 10007126
    blue_17
    Poziom 32  
    Posty: 2414
    Pomógł: 172
    Ocena: 473
    Witam

    Mam taki problem mam 8 wartości liczbowych zapisanych w jednej kolumnie zaczynając od komórki A1 a kończąc na A8.

    Z wartości liczbowych wyciągam cyfrę dziesiątek i chciałbym jedną formułą wyciągnąć liczbę dziesiątek z tegoż przedziału i dodać te wartości w pamięci komputera bez używania dodatkowej kolumny oraz żadnego kodu VBA

    Wyciągniecie liczby dziesiątek realizuję poprzez połączenie 2 funkcji PRAWY oraz LEWY

    Niestety nie wiem jak wykonać tą operację dla wszystkich wartości tzn jedną formułą wpisaną w A9 ma wyciągnąć cyfrę dziesiątek oraz dodać je bez wspomagania się dodatkową kolumną.

    Pozdrawiam
  • REKLAMA
  • REKLAMA
  • #5 10008788
    blue_17
    Poziom 32  
    Posty: 2414
    Pomógł: 172
    Ocena: 473
    Dzięki prawie działa chodzi mi o 2 formułę osobiście dla pojedynczej komórki ale bez sumy zrobiłem to tak

    =WARTOŚĆ(LEWY(PRAWY(ZAOKR.DO.CAŁK(A1);DŁ(A1)-DŁ(A1)+2)))


    niestety aby kolego twoje rozwiązanie działało potrzebna jest przed wykonaniem działań wykonać konwersję na liczbę poprzez WARTOŚĆ

    Niestety nie wiem gdzie to wstawić do tej formuły

    Ewentualnie czy mógłbym prosić i wyjaśnienia działania bo się pogubiłem kiedy zobaczyłem jakieś mnożenia i operatory <>

    Pozdrawiam
  • REKLAMA
  • #6 10008935
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    Zwykłe działanie na tablicy zero jedynkowej. Spróbuj pomnożyć przez jeden przed dzieleniem.
    =SUMA.ILOCZYNÓW((ZAOKR.DO.CAŁK(PRAWY(A1:A8;2)*1/10)<>0)*1;ZAOKR.DO.CAŁK(PRAWY(A1:A8;2)*1/10))
    Lub
    =SUMA.ILOCZYNÓW((ZAOKR.DO.CAŁK(PRAWY(WARTOŚĆ(A1:A8);2)/10)<>0)*1;ZAOKR.DO.CAŁK(PRAWY(WARTOŚĆ(A1:A8);2)/10))
    Ale... działasz na liczbach?
  • REKLAMA
  • Pomocny post
    #8 10009749
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    Wkleiłem liczby do arkusza i

    [Exel] pętla w formule. Jak wykonać operację dla wszystkich wartości?

    Tylko wynik powinien być inny. Spróbuj
    =SUMA.ILOCZYNÓW((WARTOŚĆ(PRAWY(ZAOKR.DO.CAŁK(A1:A8);2))>9)*1;WARTOŚĆ(LEWY(PRAWY(ZAOKR.DO.CAŁK(A1:A8);2);1)))

    lub nieco krótszą
    =SUMA.ILOCZYNÓW((PRAWY(ZAOKR.DO.CAŁK(A1:A8);2)/10>1)*1;ZAOKR.DO.CAŁK(PRAWY(ZAOKR.DO.CAŁK(A1:A8);2)/10))


    Sprawdziłem, formuła odporna jest także na końcowe spacje. Błąd "udało" się wygenerować wstawiając znak nowego wiersza (Alt+Enter). Importujesz skądś te liczby, są wynikiem formuły?
  • #9 10012129
    blue_17
    Poziom 32  
    Posty: 2414
    Pomógł: 172
    Ocena: 473
    Okazało się że formuła działa poprawnie

    =SUMA.ILOCZYNÓW((WARTOŚĆ(PRAWY(ZAOKR.DO.CAŁK(A1:A8);2))>9)*1;WARTOŚĆ(LEWY(PRAWY(ZAOKR.DO.CAŁK(A1:A8);2);1)))


    Formuła ma służyć do opracowywania wyników, dane wprowadzam "z palca".

    [Exel] pętla w formule. Jak wykonać operację dla wszystkich wartości?

    Chciałbym zapytać o 1 rzecz bo chciałbym wiedzieć jak to działa :)

    na początku:

    -pozbywam się przecinka w przedziale
    -ucinam odpowiedni po prawej i lewej stronie znaki

    i w tym monecie nie wiem co oznacza >9

    -Potem jest mnożenie w funkcji x 1 żeby nie zmienić obrobionych wcześniej wartości i można było wykorzystać jedynie sumę z sumy iloczynów ( sprytnie ;) )

    -dalej jest wszystko sumowane i wpisywane do jednej komórki :)

    Wszystko bym wiedział tylko nie wiem co oznacza >9 w formule

    Pozdrawiam i dziękuje
  • Pomocny post
    #10 10013126
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    Ad >9 Szukamy dziesiątek, więc 2 znaki z prawej muszą być większe od 09.

    Ad mnożenie. Argumenty składowe funkcji SUMA.ILOCZYNÓW przyjmują wartości 1 (prawda) lub 0 (fałsz) w wyniku mnożenia zwracana jest tablica. Po średniku funkcja zwraca sumę (jak w SUMA.JEŻELI), bez średnika ilość (jak w LICZ.JEŻELI). W przypadku gdy jeden z argumentów w wierszu ma fałsz, funkcja zwróci fałsz (mnożenie przez zero = zero). W naszym przypadku nie ma drugiego argumentu, stąd *1.
  • #11 10013190
    blue_17
    Poziom 32  
    Posty: 2414
    Pomógł: 172
    Ocena: 473
    Bardzo dziękuję za rzeczowe wyjaśnienie

    adamas_nt napisał:
    Ad >9 Szukamy dziesiątek, więc 2 znaki z prawej muszą być większe od 09.


    Może to nie optymalne rozwiązanie ale czy da się to otrzymać jeszcze raz ucinając wartość, pytam z ciekawości bo i tak tu widzę że to rozwiązanie jest najskuteczniejsze

    Pozdrawiam
  • Pomocny post
    #12 10013220
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    PRAWY(ZAOKR.DO.CAŁK(A1:A8);2))>9 szukamy:
    103,4545
    2345

    WARTOŚĆ(LEWY(PRAWY(ZAOKR.DO.CAŁK(A1:A8);2);1)) liczymy:
    fałsz
    2345
    0+4=4

    Takie zmylenie przeciwnika ;) A poważnie, to dla skrócenia funkcji.
  • #13 10013306
    blue_17
    Poziom 32  
    Posty: 2414
    Pomógł: 172
    Ocena: 473
    Nie spodziewałem się aż takiej odpowiedzi :D

    Miał bym jeszcze takie pytanko niekoniecznie chodzi mi o rozwiązanie tylko naprowadzenie w jaki sposób do tego się zabrać

    Mam 3 kolumny w 2 pierwszych mam nazwiska a w trzeciej w zależności od tego czy się powtarzają mam wpisać tak lub nie

    muszę sprawdzić jedno nazwisko z każdym z drugiej kolumny i w trzeciej wpisać tak lub nie,

    jeżeli było by to na liczbach to zastosował bym jak wyżej ale tutaj muszę sprawdzać wartości tekstowe, przypuszczam ze tu trzeba będzie użyć porównywania tekstu razem z tablicami

    Dobrze kombinuję :?:

    Pozdrawiam
  • #14 10013352
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    W każdym wierszu musisz mieć wartość, więc raczej WYSZUKAJ.PIONOWO

    [Exel] pętla w formule. Jak wykonać operację dla wszystkich wartości?

    p.s. Sorry, już poprawiłem :)
  • #15 10013525
    blue_17
    Poziom 32  
    Posty: 2414
    Pomógł: 172
    Ocena: 473
    Kurcze nawet nie wiedziałem ze takie funkcje kryje exell

    Niestety po wpisaniu formuły

    =JEŻELI(CZY.BŁ(WYSZUKAJ.PIONOWO(A2;B:B;1;0));"nie";"tak")


    po przeciągnięciu we wszystkich przypadkach mam prawdę :|

    Tabela jest jak na przykładzie kolegi

    Pozdrawiam
  • #16 10013687
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    Konieczna mała korekta. CZY.BŁĄD zwraca 1 także przy #ND! w przeciwieństwie do CZY.BŁ
  • #17 10013774
    blue_17
    Poziom 32  
    Posty: 2414
    Pomógł: 172
    Ocena: 473
    Pekinie dziękuję doczytam co do tej funkcji błędu.

    Może kolega coś poleci jakaś pozycję odnośnie takich zabaw z opracowywaniem danych oraz ewentualnie jakąś dobrą pozycję do VBA

    P.S niestety nie mogę wcisnąć już pomógł ograniczona liczba do 3 dla danego użytkownika w temacie

    Pozdrawiam.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik ma problem z wyciąganiem cyfr dziesiątek z wartości liczbowych w Excelu, zapisanych w kolumnie A1:A8, i chce to zrobić za pomocą jednej formuły bez użycia dodatkowych kolumn czy VBA. Odpowiedzi sugerują użycie funkcji takich jak ZAOKR.DO.CAŁK, PRAWY, LEWY oraz SUMA.ILOCZYNÓW. Użytkownik ostatecznie uzyskuje działającą formułę, która sumuje dziesiątki, a także prosi o wyjaśnienie działania formuły oraz o pomoc w porównywaniu nazwisk w dwóch kolumnach. Dyskusja obejmuje również różne podejścia do problemu oraz wyjaśnienia dotyczące funkcji Excela.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA