Pytanie dotyczy formuły w Excelu. Otóż w przedziale np.: (A1:A5) znajduje się 5 dowolnych liczb. Potrzebuję zbudować formułę, która zsumuje komórki (A1:A5) lecz jeżeli w tym przedziale znajduje się liczba "0" wówczas w komórce pojawi się informacja np. "10".
Czy było by to coś w stylu: =JEŻELI(A1:A5;SUMA(A1:A5);JEŻELI((A1:A5) & 0;10)) ?
DEXiu --> Tak, masz racje. Mój błąd, bo chciałem uprościć opis. W przypadku powyżej najprościej byłoby zrobić tak jak napisałeś. W moim przypadku, tak naprawde zamiast 0 jest "Uw". Nie cyfra, a zestaw dwóch liter.
Podsumowując:
W przedziale np.: (A1:A5) znajduje się 5 dowolnych liczb. Potrzebuję zbudować formułę, która zsumuje komórki (A1:A5), lecz jeżeli w tym przedziale znajdzie się "Uw", wówczas w komórce pojawi się informacja np. "10".
Problem pozostaje nierozwiązany...
Piszę z głowy więc może być źle:
=JEŻELI(WYSZUKAJ.PIONOWO('Uw',A1:A5,A1:A5)='Uw';10;SUMA(A1:A5))
Loczek --> Pomysł dobry, ale coś się gryzie. Nie za duzo tych przedziałów ?
Troche zmodyfikowalem, ale też jest błędne.
=JEŻELI(WYSZUKAJ.PIONOWO("'Uw'";10;SUMA(A1:A5);(A1:A5)))
=JEŻELI(WYSZUKAJ.PIONOWO("Szukana wartość";Tabela;nr indeksu;przeszukiwany zakres)) ?
Chyba coś pomyliłem, jeżeli jest uw, to komunikat ma być uw, czy 10 ? Też piszę z pamięci, więc chyba coś nie tak: =JEŻELI.BŁĄD(WYSZUKAJ.PIONOWO("uw";A:A;1;PRAWDA);SUMA(A1:A5))
Ale jeśli to nie to, to jeszcze coś by trzeba zagnieździć, ale bez excela pod ręką nie dam rady :)
roman11 --> ma być 10
dolomit: faktycznie, ominąłem "nr indeksu". Przeszukiwany zakres jest parametrem opcjonalnym zgadza się? (nie mam excela w domu)
W takim razie musiałoby być:
=JEŻELI(
WYSZUKAJ.PIONOWO('Uw',A1:A5,1)='Uw'; - wyszukaj w pierwszym wierszu Zakresu A1:A5 (jest jeden wiersz,ale to nic) wartość 'Uw'
10; - wartość jeżeli znajdzie 'Uw'
SUMA(A1:A5)) - wartość jeżeli nie znajdzie
Loczek --> dalej nic. :(
Wiem, że co innego jak samemu sie to na bieżąco sprawdza, a co innego próbować z pamięci. Gdybyś jednak potrzebował jakąś informację daj znać.
Dokonałem zmiany z ' na ", błąd zminił się na #N/D!
Tak z głowy, bez odpalonego excela przychodzi mi do głowy tylko poprzednia formuła:
=JEŻELI.BŁĄD(WYSZUKAJ.PIONOWO("uw";A:A;1;0);SUMA(A1:A5))
i dodatkowa komórka, gdzie adres komórki z w/w formułą to F12 (tak od czapy :)
z formułą
=JEŻELI(F12="uw";10;F12)
Dodatkowej komórki nie planowałeś, ale powinno chyba działać - sprawdź może ?
Dziala, ktos musi przetlumaczyc na polski.
=IF(COUNTIF(A1:A5,0)<=0,SUM(A1:A5),"Uw")
Chyba o to chodzi:
=IF(COUNTIF(A1:A5,"Uw")<=0,SUM(A1:A5),"Uw")
Jak znajdzie Uw wywali Uw, jak nie zsumuje. Nie wiem czy o to dokladnie chodzi ale na tym poziomie mozna to latwo zmodyfikowac.
=JEŻELI((LICZ.JEŻELI(A1:A5;">0")+LICZ.JEŻELI(A1:A5;"=0")+LICZ.JEŻELI(A1:A5;"<0"))=ILE.WIERSZY(A1:A5); SUMA(A1:A5); "BŁĄD")
Opisowo: jeżeli ( ilość komórek z liczbami = ilość wszystkich komórek w danym zakresie ) to sumuj liczby, w przeciwnym wypadku zgłoś BŁĄD.
Przeciwny wypadek wystąpi, gdy w zakresie znajdzie się chociaż jedna komórka nie zawierająca liczby. Możesz sobie tam wpisać "Uw" albo "X" czy dowolny inny ciąg nie będący liczbą, a wystąpi błąd.
=JEŻELI.BŁĄD(JEŻELI(WYSZUKAJ.PIONOWO(E5;$A$1:$B$15;2;FAŁSZ);10;SUMA(A1:A5));SUMA(A1:A5))
Zagnieżdżone trochę ale działa.
Proponuję spróbować
=JEŻELI(LICZ.JEŻELI(A1:A5;"Uw")<=0;SUMA(A1:A5);"10")
Nie będę wielce ściemniał - oparłem się na formule [13] - po modyfikacjach i przetłumaczeniu u mnie działa
Dziękuję Wszystkim.
milesdei -> dzieki. Jak to zwykle bywa, nie ma sensu kombinować tworząc rozbudowaną komendę. Im prościej tym lepiej. I od tego trzeba wychodzić.
Roman11 -> Również wielkie dzięki za zaangażowanie i finalną formułę.
Potwierdzam, działa.
Problem rozwiązany. :)