Macco™ [ Child Of The Damned ]
Excel - prośba o pomoc.
Mam wielką prośbę a dokładnie o podpowiedzenie co mógłbym zrobić żeby poradzić sobie z dwoma problemami.
W tym pliku jest o wiele więcej kolumn ale zrobiłem tylko screena obrazowego.
1. W pliku excela muszę poprawić czwartą kolumnę. Znajduje się w niej wiek ale w niektórych komórkach jest on ujemny. Ja mam to poprawić ale nie jadąc po kolei przed 500 komórek tylko za pomocą funkcji, formuły etc.
2. Trzecia kolumna to płeć. Załóżmy że 1 to mężczyźni a 2 to kobiety. Mam zrobić osobne tabele z danymi dla kobiet i mężczyzn. Ale też nie jadąc po kolei i wycinając cały wiersz aby następnie wkleić go w osobnym arkuszu przeznaczonym jedynie dla kobiet tylko za pomocą jakiejś funkcji, formuły etc.
Czy ktoś wie jak mógłbym sobie z tym poradzić?
To są dwa polecenia z kilku które mam wykonać na konkretnym pliku. Z reszta dam sobię rade ale przez to nie wiem jak przebrnąć.
legrooch [ MPO Squad Member ]
Co do pierwszego - funkcja ZASTĄP(stary_tekst;liczba_początkowa;liczba_znaków;nowy_tekst)
Co do drugiego to banał - posortuj cały zakres po kolumnie i przenieś pierwszą część do arkusza obok.
Macco™ [ Child Of The Damned ]
Ehh z tego wszystkiego zapomniałem dodać screena.
Co do pierwszego - funkcja ZASTĄP(stary_tekst;liczba_początkowa;liczba_znaków;nowy_tekst)
Tylko że ja nie chce zastępować a za pomocą funkcji, formuły nałożyć tak jakby moduł na wszystkie komórki w tej kolumnie w komórkach które są ujemne ma zniknąć minus.
legrooch [ MPO Squad Member ]
Ale zastąp "-" "", w czym masz problem?
Zlikwiduj minus brakiem znaku.
ZASTĄP("-",0,1,"")
W Excelu nie siedzę, ale na chłopski rozum tak to powinno działać.
Po co sprawdzać w każdej i usuwać wtedy pierwszy, skoro można zamienić minus na pusty znak?
Narmo [ nikt ]
No to odwróć odejmowanie :P
=JEŻELI(C2-D2>=0;C2-D2;D2-C2)
Macco™ [ Child Of The Damned ]
legrooch---> Niestety ale zastąpienie znaku nic mi nie daje bo muszę w funkcji określić który znak w komórce ma być zastąpiony spacją. Jeśli określę że ma to być pierwszy znak to w tych komórkach które mają minus zostanie on zastąpiony spacją a w tych w których nie ma minusa pierwsza cyfra zniknie.
Meganelle [ Tarzana przez Tarzana ]
Macco, użyj formuły, która zwraca wartość bezwzględną:
MODUŁ.LICZBY(C2)
Macco™ [ Child Of The Damned ]
Meganelle---> Tylko że ta formuła nie podmieni mi komórek w kolumnie. Nałoży moduł ale zmienione wartości będą w innej kolumnie a ja potrzebuję tak to zrobić żeby nie zmieniać ich położenia a jedynie usunąć znak. Nie wiem czy jest to w ogóle możliwe bez użycia jakiegoś makra.
Meganelle [ Tarzana przez Tarzana ]
Ale przecież możesz użyć formuły:
=MODUŁ.LICZBY(A2-B2)
Narmo [ nikt ]
No ale przecież podałem przykład.
Macco™ [ Child Of The Damned ]
Meganelle ---> Tak ale te wartości będą się znajdowały w nowej kolumnie a nie w tej samej na miejscu starych wartości.
Narmo--> Nie rozumiem jak miała by działać Twoja formuła. Mógłbyś wytłumaczyć?
Narmo [ nikt ]
Najpierw sprawdza, czy różnica liczb w komórkach C2 i D2 jest dodatnia. Jeżeli tak, to odejmuje je w takiej kolejności. Jeżeli nie to w odwrotnej.
Jeżeli masz liczby 2 i 4 to 2-4 = -2 a to jest mniejsze od zera. Więc trzeba zamienić liczby miejscami i mamy 4-2=2.
Składnia
JEŻELI(test_logiczny;wartość_jeżeli_prawda;wartość_jeżeli_fałsz).
Meganelle [ Tarzana przez Tarzana ]
Macco, ale nie rozumiem Twojego problemu - w kolumnie z tym wiekiem (pal licho dziwną konstrukcję, która pozwala na ujemną wartość, ale w końcu to od Ciebie zależy, co tam jest i co oznacza) wpisujesz formułę w pierwszym wierszu, potem zaznaczasz do ostatniego i wciskasz ctrl+D, co ją skopiuje. Jeżeli nie chcesz mieć formuł, to potem tylko kopiujesz i wklejasz jako wartości.
Może czegoś nie rozumiem, ale wydaje mi się, że czwarta kolumna wynika wprost z pierwszych dwóch, więc nie wiem, czemu tak kłopotliwe jest wpisanie formuły w jedną komórkę i skopiowanie jej w dół.
Macco™ [ Child Of The Damned ]
Narmo---> stworzyłem takie warunki -JEŻELI(C3:C8>=0;C3:C8;-C3:C8) ale tak jak w przypadku funkcji modułu nawet jeśli utworze ją w pierwszym wierszu tej kolumny to wartość z pierwszej komórki zostanie utracona na potrzeby utworzenia w niej funkcji. Chyba że ja to źle robię.
pal licho dziwną konstrukcję, która pozwala na ujemną wartość
To jest celowy błąd do poprawienia.
legrooch [ MPO Squad Member ]
Jak chcesz, to z poziomu makra zamień modułem. Przykład:
Dim LResult As String
LResult = Replace("alphabet", "a", "e")
Macco™ [ Child Of The Damned ]
Dzięki za wszelkie odpowiedzi. Na makrach się nie znam bo nigdy się nimi nie bawiłem więc po prostu chyba dam sobie z tym spokój.
Jeszcze raz dzięki.