Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Excel - problem z wyborem maksymalnej wartosci komorki

38 views
Skip to first unread message

tomek

unread,
May 28, 2006, 9:19:31 AM5/28/06
to
Witam!
Mam arkusz z danymi:
A B C D
1 Tekst1 liczbaB1 liczbaC1 liczbaD1
2 Tekst2 liczbaB2 liczbaC2 liczbaD2
3 Tekst3 liczbaB3 liczbaC3 liczbaD2
itd.

Musze w innej komorce wyswietlic Tekst z kolumny A w zaleznosci od
wartosci kolumn B i C wg nastepujacych kryteriow:
Dla maksymalnej wartosci B wyswietlam odpowiadajacy mu tekst z kolumny A
ale jesli sa dwie takie same maksymalne wartosci w B wtedy biore jeszcze
pod uwage wartosc liczby C i znowu jezeli liczby C tez sa rowne decyduje
liczba D. Jezeli zdazy sie ze wszystkie liczby sa identyczne to zamiast
tekstu z A pojawi sie tekst "Wyniki identyczne".
Kolejny krok to podobnie jak wyzej z pominieciem juz raz wybranej
maksymalnej liczby z B (i znowu gdy max z B sa dwie takie same to o
wyborze decyduje liczba z C (lub D))

Czyli inaczej mowiac potrzebuje zrobic SORTOWANIE. Problem w tym ze chce
to miec zrobione bez uzycia makr tylko za pomoca dostepnych funkcji. Makro
moze byc naprawde tylko w ostatecznosci (ale bardzo zalezy mi na tym by
nie bylo makr).

Pozdrawiam
Tomek


andie

unread,
May 28, 2006, 1:43:19 PM5/28/06
to

Użytkownik "tomek" <123_...@NoSpAm.wp.pl> napisał:

>
> Musze w innej komorce wyswietlic Tekst z kolumny A w zaleznosci od
> wartosci kolumn B i C wg nastepujacych kryteriow:
> Dla maksymalnej wartosci B wyswietlam odpowiadajacy mu tekst z
> kolumny A ale jesli sa dwie takie same maksymalne wartosci w B wtedy
> biore jeszcze pod uwage wartosc liczby C i znowu jezeli liczby C tez
> sa rowne decyduje liczba D. Jezeli zdazy sie ze wszystkie liczby sa
> identyczne to zamiast tekstu z A pojawi sie tekst "Wyniki
> identyczne".
> Kolejny krok to podobnie jak wyzej z pominieciem juz raz wybranej
> maksymalnej liczby z B (i znowu gdy max z B sa dwie takie same to o
> wyborze decyduje liczba z C (lub D))

Nie jestem pewien, czy dobrze zrozumiałem: jeżeli są dwie (lub więcej)
wrtości maksymalne w kolumnie B, wtedy sprawdza w kolumnie C i znów,
jeżeli jest więcej niż jedna maksymalna to sprawdza w kolumnie D,
itd...
Jeżeli tak, to napisałem formułę, lecz potrzebuje ona dodatkowo
skopiowane wartości tekstowe z kolumny A do innej kolumny, przyjąłęm,
że to będzie kolumna E, a baza znajduje się w wierszach od 2 do 23.
Wtedy w dowolnej pustej komórce wprowadź formułę:
=JEŻELI(LICZ.JEŻELI($B$2:$B$23;MAX($B$2:$B$23))=1;WYSZUKAJ.PIONOWO(MAX($B$2:$B$23);$B$2:$F$23;4;0);JEŻELI(LICZ.JEŻELI($C$2:$C$23;MAX($C$2:$C$23))=1;WYSZUKAJ.PIONOWO(MAX($C$2:$C$23);$C$2:$F$23;3;0);JEŻELI(LICZ.JEŻELI($D$2:$D$23;MAX($D$2:$D$23))=1;WYSZUKAJ.PIONOWO(MAX($D$2:$D$23);$D$2:$F$23;2;0);"Wyniki
identyczne")))

andie


Tomek

unread,
May 30, 2006, 7:24:06 AM5/30/06
to
> Nie jestem pewien, czy dobrze zrozumiałem: jeżeli są dwie (lub więcej)

Chyba jednak sie nie zrozumielismy. Teraz ta formula liczy zwyczjnie maximum
a ja potrzebuje zawezac dane - czyli jak mam w B 3 x identyczna wartosc
maxymalna to kolumne C sprawdzam juz tylko dla tych trzech wartosci. I teraz
jezeli takze z te trzey liczby w kolumnie C sa rowne to brane sa pod uwage
odpowiadajace im liczby w kolumnie D (czyli w tym samym wierszu).
Teraz dziala to tak ze znajduje mi z w C wiecej niz jedno maksimum to z D
wybiera mi liczbe maksymalna dla calej kolumny D (a mnie interesuja juz
tylko wiersze gdzie w C jest max) itd.
Moze prosciej bedzie na przykladzie (pomijajac prawdopodobienstwo takiego
zdarzenia). Polska i Niemcy reemisuja 1:1 a pozostale mecze wygrywaja 2:1:

A (nazwa druzyny) B (Punkty) C (Ilosc strzelonych bramek)
D (Ilosc straconych bramek)
Polska 7 5
3
Niemcy 7 5
3
Ekwador 3 4
5
Kostaryka 0 3
6

Teraz z takiej tabelki excel ma mi wrzucic w dwie inne komorki nazwy dwoch
druzyn ktore wychodza z grupy (oczywiscie uklad w tabeli moze byc bardzo
rozny np. 1 druzyna wychodzi z grupy z przewaga punktow a 2 inne druzyny
zdobyly tyle samo punktow, i strzelila tyle samo bramek ale wychodzi ta
ktora wiecej stracila (albo jak maja tyle samo to pojawia sie napis wg
LOSOWANIA).
Teraz powinno juz byc wszystko jasne ;)

Pozdrawiam
Tomek

Tomek

unread,
May 30, 2006, 7:54:36 AM5/30/06
to
Idelnie byloby gdyby formula spelniala wszystkie ponizsze zalozenia:

Zgodnie z regulaminem ze strony
http://fifaworldcup.yahoo.com/06/en/w/doc.html
(plik http://eur.i1.yimg.com/eur.yimg.com/i/eu/fifa/regen.pdf)
liczy sie:
1. wiecej punktow
2. lepsza roznica bramek
3. wiecej strzelonych bramek

Jesli dwie lub wiecej druzyn beda mialy wszystkie ww. rzeczy rowno, to
tworzy
sie pomocnicza tabelke z wynikami meczow pomiedzy zainteresowanymi stronami
(dla dwoch druzym to po prostu oznacza, ze decyduje wynik bezposredniego
meczu), i w tej tabelce znow:
4. wiecej punktow
5. lepsza roznica bramek
6. wiecej strzelonych bramek

Jesli znow nie pomoglo, to:
7. losowanie.

Pozdrawiam
Tomek

pxd74

unread,
May 30, 2006, 2:26:16 PM5/30/06
to
Użytkownik "tomek" <123_...@NoSpAm.wp.pl> napisał w wiadomości
news:e5c81r$qlk$1...@atlantis.news.tpi.pl...
(...)

> Czyli inaczej mowiac potrzebuje zrobic SORTOWANIE. Problem w tym ze chce
> to miec zrobione bez uzycia makr tylko za pomoca dostepnych funkcji. Makro
> moze byc naprawde tylko w ostatecznosci (ale bardzo zalezy mi na tym by
> nie bylo makr).

To ja proponuje takie rozwiązanie:

- Założenia: W komórkach A1:A4 znajdują się nazwy reprezentacji, w komórkach
B1:B4 liczba punktów, w komórkach C1:C4 różnica bramek, w komórkach D1:D4
ilość strzelonych bramek

- Proponuję dodać dodatkowa kolumnę, przykładowo kolumne F i wkomórce F1
wpisać taką formułę:

=WARTOŚĆ(ZŁĄCZ.TEKSTY(TEKST($B$1:$B$4;"00");TEKST($B$1:$B$4+MIN($C$1:$C$4);"
00");TEKST($D$1:$D$4;"00")))

a następnie skopiowiać formułę do komórek F2:F4
Kolumna F jest kolumną pomocniczą - możesz ją po prostu ukryć.

- Przyjąłem, że kolumna właściwa to kolumna G i w komórce G1 wpisz formułe:

=JEŻELI(LICZ.JEŻELI($F$1:$F$4;MAX.K($F$1:$F$4;WIERSZ()))>1;"Wyniki
identyczne";INDEKS($A$1:$A$4;PODAJ.POZYCJĘ(MAX.K($F$1:$F$4;WIERSZ());$F$1:$F
$4;0)))

a następnie skopiuj formułe do komórek niżej.


Uwaga! W przypadku gdy wpisywanie ostatniej formuły zaczniesz od innego
wiersza niż pierwszy apmiętaj, aby odjąć ilość wierszy poprzedających od
funckji WIERSZ().

Być może dałoby się rozwiązać ten problem przy pomocy formuły tablicowej
zamiast kolumny pomocniczej, jednak wiązało to by się ze znacznym
rozbudowaniem formuły (tzw. formuła kilometrowa) i specjalnie nie widzę
sensu takiego rozwiązania - możesz spokojnie skorzystać z kolumny
pomocniczej.


--
Pozdrowienia
pxd74

Sławomir Stępniak

unread,
May 30, 2006, 3:43:58 PM5/30/06
to
In news:e5hbiv$cl3$1...@atlantis.news.tpi.pl , *Tomek* wrote:
> Idelnie byloby gdyby formula spelniala wszystkie ponizsze zalozenia:
> Zgodnie z regulaminem ze strony http://fifaworldcup.yahoo.com/06/en/w/doc.html
> (plik http://eur.i1.yimg.com/eur.yimg.com/i/eu/fifa/regen.pdf)
> liczy sie:
> 1. wiecej punktow
> 2. lepsza roznica bramek
> 3. wiecej strzelonych bramek

No to w kolumnie A od A2 do A5 masz nazwy drużyn,
W B2:B5 punkty, w C2:C5 roznica, w D2:D5 strzelone, wpisz w E2
=POZYCJA(B2;B$2:B$5;0)
i rozciągnij na 2,3,4,5 w dół i E,F,G w prawo
Masz teraz miesce w grupie w poszczególnych kategoriach, sprawdź.
Wykorzystamy teraz, że liczby te są z zakresu 1..4 (więc < od 10)
W E2 zamiast poprzedniej wpisz wszystkie 3 kategorie z odpowiednią wagą:
=100*POZYCJA(B2;B$2:B$5;0)+10*POZYCJA(C2;C$2:C$5;0)+POZYCJA(D2;D$2:D$5;0)
rozciągnij w dół i uzyskasz kolumnę np. takich liczb: 111, 222, 234, 233
By to opisać miejscem w następnej kolumnie (komórka F2) piszesz jak przedtem
=POZYCJA(E2;E$2:E$5;1) - teraz nie 0 a 1 czyli sortowanie od najmnieszego.

> Jesli dwie lub wiecej druzyn beda mialy wszystkie ww. rzeczy rowno, to tworzy
> sie pomocnicza tabelke z wynikami meczow pomiedzy zainteresowanymi stronami
> (dla dwoch druzym to po prostu oznacza, ze decyduje wynik bezposredniego
> meczu), i w tej tabelce znow:
> 4. wiecej punktow
> 5. lepsza roznica bramek
> 6. wiecej strzelonych bramek

Przy pechu możesz mieć w E np: 111,223,223,222 czyli w F 1,3,3,2
W G2 wpisz więc:
=JEŻELI(LICZ.JEŻELI(F$2:F$5;F2)>1;F2;"")
i rozciągnij w dół, w efekcie powinny się przepisać tylko te 2 równe miejsca.
Korzystając z np. CZY.LICZBA(G2) możesz od nowa wyliczyć punkty, różnice
i strzelone w swój sposób poprzedni, i dalej przeliczyć powyżej opisanymi
metodami na miejsca. Uwzględnij przy tym zawartość G2 czyli
miejsce := G2 - 1 + wyliczone_miejsce
wtedy te dwie z 'dogrywki' będą miały miejsca nie 1 i 2 w dogrywce, tylko
np. 3 i 4 w całej grupie.

> Jesli znow nie pomoglo, to:
> 7. losowanie.
> Pozdrawiam
> Tomek

Możesz wylosować, ale czy trafisz tak samo jak w realu? :)
Zanim wysłałem widzę, że masz już odpowiedź pxd74, w założeniu podobnie
zbija (tekstem) z odpowiednią wagą i ma liczby w stylu 011207, gorzej jak
która drużyna strzeli więcej niż 99 bramek :) czego wszystkim nam życzę :)
No nic, masz wybór.

--
Pozdrawiam.:Sławomir Stępniak:.slaw1step@poczta1.1onet.pl(ale bez cyfr)

pxd74

unread,
May 31, 2006, 1:19:40 AM5/31/06
to
pxd74 <px...@poczta.onet.pl> napisał(a):

> Użytkownik "tomek" <123_...@NoSpAm.wp.pl> napisał w wiadomości
> news:e5c81r$qlk$1...@atlantis.news.tpi.pl...
> (...)
> > Czyli inaczej mowiac potrzebuje zrobic SORTOWANIE. Problem w tym ze chce
> > to miec zrobione bez uzycia makr tylko za pomoca dostepnych funkcji.
Makro
> > moze byc naprawde tylko w ostatecznosci (ale bardzo zalezy mi na tym by
> > nie bylo makr).
>
> To ja proponuje takie rozwiązanie:
>
> - Założenia: W komórkach A1:A4 znajdują się nazwy reprezentacji, w
komórkach
> B1:B4 liczba punktów, w komórkach C1:C4 różnica bramek, w komórkach D1:D4
> ilość strzelonych bramek
>
> - Proponuję dodać dodatkowa kolumnę, przykładowo kolumne F i wkomórce F1
> wpisać taką formułę:
>
> =WARTOŚĆ(ZŁĄCZ.TEKSTY(TEKST($B$1:$B$4;"00");TEKST($B$1:$B$4+MIN
($C$1:$C$4);"
> 00");TEKST($D$1:$D$4;"00")))

Sorry, ale do mojego postu wkradł się błąd. Ta formuła powinna wyglądać w
ten sposób:

=WARTOŚĆ(ZŁĄCZ.TEKSTY(TEKST(B1;"00");TEKST(C1-MIN($C$1:$C$4);"00");TEKST
(D1;"00")))

Po prostu skopiowałem nie to co trzeba. Naprawdę przepraszam.

--
Pozdrowienia
pxd74

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Tomek

unread,
Jun 2, 2006, 6:41:14 AM6/2/06
to
> - Przyjąłem, że kolumna właściwa to kolumna G i w komórce G1 wpisz
> formułe:
>
> =JEŻELI(LICZ.JEŻELI($F$1:$F$4;MAX.K($F$1:$F$4;WIERSZ()))>1;"Wyniki
> identyczne";INDEKS($A$1:$A$4;PODAJ.POZYCJĘ(MAX.K($F$1:$F$4;WIERSZ());$F$1:$F
> $4;0)))
>
> Uwaga! W przypadku gdy wpisywanie ostatniej formuły zaczniesz od innego
> wiersza niż pierwszy apmiętaj, aby odjąć ilość wierszy poprzedających od
> funckji WIERSZ().

A nie mozna zastapic funkcji wiersz liczbami stalymi w 1-4 w kolejnych
wierszach? Wydaje mi sie ze ta funkcja jest tu zbyteczna.

Pozdrawiam
Tomek

PS. Dzieki wszystkim za pomoc.

Sławomir Stępniak

unread,
Jun 2, 2006, 4:25:12 PM6/2/06
to

Można, można jeszcze usunąć znaki '$', a adresy F1,F4 po skopiowaniu poprawiać
ręcznie. Ale lepiej tak konstruować funkcje, by po rozciągnięciu/skopiowaniu
do sąsiedniej kolumny/wiersza nie trzeba było przy nich palcem kiwnąć.

pxd74

unread,
Jun 4, 2006, 4:27:13 PM6/4/06
to
Użytkownik "Tomek" <123_...@wp.pl> napisał w wiadomości
news:e5p4l3$3si$1...@atlantis.news.tpi.pl...

> A nie mozna zastapic funkcji wiersz liczbami stalymi w 1-4 w kolejnych
> wierszach? Wydaje mi sie ze ta funkcja jest tu zbyteczna.

Można.


--
Pozdrowienia
pxd74

0 new messages