Excel "JEZELI"


(Spam) #1

Witam,

mam taki temat. Próbuję zrobić w excelu właśnie formułę, która z tabeli z samochodami osobowymi dostępnymi na rynku będzie mi potrafiła wyróżnić te które należą do segmentu "D". Szczerze mówiąc dla mnie to ciemna magia i tak na prawdę nie wiem czy jest to możliwe, ale chciałbym aby przy każdym samochodzie spełniającym kryterium przynależności do segmentu "D" w kolumnie "Przynależy" wskakiwał napis "TAK", przy pozostałych (nienależących) napis "NIE". Myślałem, że może byłaby to jakaś formuła w stylu jeżeli dane zawierają się komórkach od do to wstaw w kolumnie "przynależy" słowo "TAK" jeżeli dane nie zawierają się w komórkach od do to wstaw w kolumnie "przynależy" słowo "NIE".

Wiem, że jestem lamą ale naprawdę nie robię tego na własne życzenie, ale nie mam po prostu wyboru. Proszę o wyrozumiałość.

Tu jest tabelka: http://rapidshare.com/files/394794615/segmenty.xls.html

Pilnie czekam na odpowiedź...


(Pharun) #2

Właśnie nad tym siedzę ale nie do końca rozumiem o co chodzi z tym "będzie potrafiła wyróżnić te które należą do segmentu D". Chodzi o klasę D czy o kolumnę D? po prostu nie łapię. Wytłumacz dokładnie bo chyba wiem jak Ci pomóc.


(Spam) #3

Chodzi mi o klasę "D", która się powtarza kilka razy w grupie podstawowej, grupie vany, sportowo-rekreacyjne oraz terenowo-rekreacyjne. Czyli są to komórki H, T, AB i AL. Chodzi o to aby w kolumnie "przynależy" przy każdym samochodzie segmentu "D" w każdej z grup widniał napis "TAK", a przy pozostałych napis "NIE".


(Drobok) #4

Jeśli w jakiejś komórce masz napisane do którego segmentu należy wystarczy zrobić

=jeżeli(komórka='d';'tak';'nie');

Jeżeli natomiast nie masz niczego takiego to też nie kapuje polecenia xD


(Pharun) #5

Zrobiłem, aczkolwiek w kilku komórkach wykazuje błąd i nie wiem czemu. Jeżeli samochodów w grupie D jest np 42 a samochodów w grupie A mamy 44 to 1-42 pokaże dobrze a w 43 i 44 pokaże ARG! i niestety nie wiem skąd to się bierze bo w każdej komórce stosowałem ten sam test logiczny. Załączam link do rapida, może ktoś to rozgryzie. stosowałem formułę:

=jeżeli(=JEŻELI(XY=$X$Y:$X$Y;"TAK";"NIE") w miejscu X odpowiednia litera kolumny a w miejscu Y cyfra numer rzędu.

http://rapidshare.com/files/394828363/segmenty.xls.html

Pozdrawiam!

edit: czekaj! Bo nie wiem czy dobrze zrozumiałem - ja zrobiłem tak - jeżeli któryś z samochodów z grupy A,B,C,E,F itd oprócz D znajduje się też w D to dostaje TAK a jak się nie znajduje to dostaje NIE. O to chodziło?


(Spam) #6

Hmmm...teraz to ja nie rozumiem. Chodziło mi o to żeby napisać formułkę na podstawie które excel będzie potrafił wyznaczyć samochody klasy "D". Może jeszcze inaczej: załączona tabela ma być swojego rodzaju bazą danych, z pośród której chciałbym wyznaczyć samochody klasy D, których przynależność do klasy widoczna jest już w samej bazie danych, ale próbuje opracować aplikację, która ma na podstawie formuły excela wyznaczać samochody tylko klasy D, A itp. wedle życzenia użytkownika. Chodzi o to, że baza będzie docelowo niewidoczna dla użytkownika i ma służyć jako zbiór informacji dla programu. Aby bardziej wprowadzić Cię w temat, chciałbym później zrobić kolejną tabelę z samymi samochodami tylko klasy D (te przy których w kolumnie "Przynależy" stało słowo TAK) gdzie na podstawie podobnej formuły będą wyznaczane samochody według poszczególnych grup. Kolejne etapy to wersje silnikowe, wyposażenie itp. Jeśli jeszcze coś jest niejasne to chętnie odpowiem. Ja ze swojego punktu widzenia widzę tylko że tak jest tam gdzie powinno :slight_smile:


(Drobok) #7

Wrzuć na coś innego niż rapid / W zakresie wartości przy przyrównaniu masz mieć zaznaczone tylko komórki z klasy d


(Spam) #8

Ja wrzuciłem:

http://www.speedyshare.com/files/227739 ... gmenty.xls

może stąd się uda...

A słuchajcie, bo już trochę zaczynam jarzyć. Powiedzcie co gdybym chciał w tym warunku wpisać kilka wartości z trzech kolumn? Tzn. Gdybym chciał w równaniu zamieścić wartości 3 kolumn tak jak tu: =JEŻELI(komórka='wartości z 3 kolumn';"TAK";"NIE") ??

Zauważyłem teraz że samochody są przyrównywane jedynie do kolumny klasy D w swojej grupie, a ja chciałbym przyrównać do wszystkich 3 kolumn D niezależnie od grupy i dopiero wtedy dostać odpowiedź tak lub nie...

I jeszcze jedno, czy nie istnieje jakieś równanie, które zwalniałoby z konieczności wpisywania do każdej z komórek? Tzn., czy nie ma takiego, które byłoby uniwersalne dla każdej komórki?


(Skiff) #9

Excel wyrzuca błąd #ARG!, bo tak jak zrobiłeś to on porównuje dane z tabeli do macierzy (tabeli) $H$7:$H$43 dlatego nie chwyta wierszy większych od 43.

Generalnie taka tabela jest do takiej funkcji źle zrobiona. Lepszym pomysłem jest zrobienie każdego pojazdu w jednym wierszu, a w drugiej kolumnie dopisać klasę pojazdu - wówczas masz rozwiązane wszystkie problemy i klasę pojazdów będzie można wybierać na podstawie listy oraz formuły bez żadnego problemu.

http://rapidshare.com/files/395080499/segmenty.xls.html

Zobacz na arkusz 2, który przygotowałem dla grupy podstawowej. Generalnie polecam przemodelowanie tabeli.


(Spam) #10

Naprawdę dzięki chłopaki za Wasze podpowiedzi, bo dzięki nim ruszyłem z tematem, tylko że...znowu się zaciąłem. Tym razem na trochę wyższym poziomie, bo moje funkcje robią się coraz bardziej skomplikowane i teraz przeszkodą jest dla mnie ograniczenie zagnieżdżenia do 64 funkcji "JEŻELI". Pytanie jest następujące: czy da się to ograniczenie jakoś ominąć? Chodzi mi konkretnie o to, ze teraz chciałbym napisać funkcję, która po podaniu klasy samochodu/wersji silnika (diesel/benzyna)/pojemności będzie potrafiła wyznaczyć samochody spełniające te warunki, tzn podać jakąś informację dot. tych aut np. "Wybrano samochód klasy d z silnikiem diesela o pojemności 2.0 l". Pomyślcie ile jest możliwości w tym przypadku i poradźcie jak to zrobić aby w jednej formule je wszystkie uwzględnić?

Naprawdę liczę na Was bo czuję, że trafiłem na ścianę i obawiam się, że te godziny przed kompem mogą zejść na niczym....