Wysłany: 2012-08-28, 19:02 Excel - prośba o pomoc przy napisaniu formuły
mam problem i póki co nie wiem jak sobie z nim poradzić:
w dwóch kolumnach znajdują się wartości:
1000 1000
1000 1234
1000 0500
0000 0000
0000 1000
w każdym wierszu wartość z kolumny drugiej ma być podzielona przez wartość z kolumny pierwszej i dać odpowiednio wyniki:
0%
23,4%
50%
0%
"tekst"
nie mam problemu z pierwszymi trzema sytuacjami, ale przy zagnieżdżaniu ostatniego warunku przy wykorzystaniu "czy.błąd" się rozchrzania i formuła nie odczytuje, że przy dzieleniu przez 0 ma pokazać wartość a nie "#DZIEL/0!"
formułę, którą napisałam wrzuciłam w spoilerze żeby nie narzucać sposobu
byłabym wdzięczna za pomoc jeszcze w dniu dzisiejszym
a i jeszcze jedno pytanie - czy dobrze przyjęłam, że jeśli była wartość 1000 a teraz jest wartość 1234 to wzrost jest o 23,4% czy też powinien być wykazany wzrost o 123,4%?
tak ale ... zakładając, że pierwsza kolumna to stan w miesiącu A a druga to stan w miesiącu B (gdzie miesiąc b następuje po miesiącu A) to nie nastąpił ani wzrost ani spadek (utrzymało się status quo) czyli nastąpiła zmiana o 0%
Cytat:
moze dopisz warunek jezeli A=0 to text..
no właśnie nie bardzo bo B może być równe lub różne od 0 i wtedy mają się pojawiać inne wartości w kolumnie C
a i jeszcze jedno pytanie - czy dobrze przyjęłam, że jeśli była wartość 1000 a teraz jest wartość 1234 to wzrost jest o 23,4% czy też powinien być wykazany wzrost o 123,4%?
Właściwym terminem jest przyrost a nie wzrost (wzrosty są na giełdzie). Przyrost wynosi 23,4%.
Ja użyłem polecenia
=JEŻELI.BŁĄD(B10/A10=1;"0 %")
=JEŻELI.BŁĄD(B11/A11=1;"tekst")
faktycznie użyłam złego słowa, dzięki za sprostowanie
co do formuł, które wrzuciłeś to są super jeśli mogę dla każdego wiersza wpisać inną formułę, a ja potrzebuję wrzucić to w jedną formułę, żeby nie analizować jakiej użyć formuły (obróbka ok. 20k rekordów)
ps. jakiego masz excela, bo ja w 2003 nie mam formuły jeżeli.błąd ?
Pomogła: 7 razy Wiek: 31 Dołączyła: 14 Sie 2007 Posty: 5405 Skąd: Katowice
Wysłany: 2012-08-28, 20:59
Jest taka funkcja jak jeżeli.błąd, =jeżeli.błąd(B7/A7;"tekst"), wtedy gdy wartość dzielenia będzie poprawna - wywali wynik, a jeżeli błędna, to pokaże tekst.
Funcja czy.blad informuje wyłącznie o tym, że występuje błąd (np. dzielenie przez zero) ale zwraca wyłącznie wartość logiczną (PRAWDA/FAŁSZ)
Funkcja jezeli.błąd (wartość, wartość_gdy_błąd) zwraca wartość wyniku gdy jest to wykonalne (jak w pierwszym wierszu) lub wyświetla "wartość_gdy_błąd" gdy operacja jest niewykonalna.
mam ponownie problem, z którym nie umiem sobie poradzić
jest plik, w którym znajduje się od groma wierszy (często powyżej 40k) o takiej mniej więcej treści
unikalny numer pracownika|kod nieobecności|data początku nieobecności|data końca nieobecności
przykład (dane w pliku można dowolnie posortować):
1234|CC|01.04.2012|17.04.2012
1234|CC|18.04.2012|03.05.2012
1234|CC|05.05.2012|29.05.2012
1234|CS|30.05.2012|30.06.2012
1234|CC|01.07.2012|20.07.2012
1234|UM|21.07.2012|20.01.2013
5678|C|07.07.2012|10.07.2012
5678|CS|11.07.2012|19.07.2012
5678|C|20.07.2012|15.08.2012
5678|C|10.10.2012|30.10.2012
9876|C|09.09.2012|20.09.2012
9876|CS|24.09.2012|23.10.2012
9876|C|24.10.2012|27.10.2012
z wpisów powyżej interesuje mnie następujący wynik:
1234|CS/CC/UM|01.04.2012|20.01.2013|295
5678|C|10.10.2012|30.10.2012|21
9876|CS/C|24.09.2012|27.10.2012|34
czyli najpierw należy znaleźć wszystkie rekordy dla unikalnego numeru pracownika, wyszukać najświeższy wpis daty końca nieobecności, potem wyszukiwać poprzednią nieobecność i jeżeli:
- pomiędzy początkiem badanej nieobecności a końcem poprzedzającej jej jest przerwa większa niż 3 dni (czyli początek ostatniej nieobecności to 24.09 a koniec poprzedzającej jej wypada na 20) to można zakończyć poszukiwanie i zapisać nowy rekord z datami ostatniej nieobecności czyli jak w 2 i 3 przykładzie,
- pomiędzy początkiem badanej nieobecności a końcem poprzedzającej jej jest przerwa mniejsza lub równa 3 to data końca nieobecności pozostaje taka sama, natomiast jako nowa data początku nieobecności wskakuje ta z poprzedniego rekordu i następuje ponowne sprawdzenie kolejnej poprzedzającej nieobecności - tak jak w przykładzie 1
- w drugiej kolumnie mają zostać wstawione kody nieobecności, które zawierają się w nowych przedziałach czasowych, z czego każdy kod powinien pojawić się tylko raz od ostatniej nieobecności w kolejności chronologicznej malejącej, jeśli było np. CS/C/CC/C/CS/C/CS to powinno wynikowo być CC/C/CS; kody nieobecności mogą mieć więcej znaków niż w przykładzie, najmniej jednak to 1 znak
- w ostatniej kolumnie znajduje się wyliczenie ilości dni jakie upłynęły od końca "nowej" nieobecności do jej początku
- każdy "|" to znak wskazujący nową kolumnę
- byłoby cudownie jeśli wartość dni pomiędzy początkiem nowej a końcem starej nieobecności była łatwo modyfikowalna przez użytkownika (te 3 dni, które opisałam w pierwszym i drugim podpunkcie)
jeśli komuś chciałoby się mi pomóc to w zamian za działające np. makro proponuję flaszkę własnoręcznie wykonanej cytrynówki
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach