Forum IDG.pl - miejsce dyskusji o IT: [EXCEL] znalezienie danej wartości w kolumnie - Forum IDG.pl - miejsce dyskusji o IT

Skocz do zawartości

Close Open
Close Open
Strona 1 z 1
  • Nie możesz rozpocząć nowego tematu
  • Nie możesz odpowiadać w tym temacie

[EXCEL] znalezienie danej wartości w kolumnie Oceń temat: -----

#1 GośćSławek_*

  • Grupa: Goście

Napisany 28 lipiec 2011 - 11:35

Witam wszystkich forumowiczów.

Mam niemały problem, i byłbym bardzo wdzięczny gdyby udało się Wam mi pomóc.

Dodaj obrazek

Powyższy rysunek przedstawia problem który chciałbym rozwiązać. Mam dwa rodzaje przedmiotów, jabłka i gruszki. Cena dla poszczególnej ilości towaru jest inna. Dlatego chciałbym aby funkcja, lub makro o ile da się takie stworzyć zwróciła daną cenę, dla danego materiału i danej ilości tego materiału, do odpowiedniej komórki, aby następnie wszytko zsumować. Najlepiej gdyby taka operacja przebiegła w całej kolumnie która miała by być obsługiwana.

Poniższy obraz przedstawia końcowy wynik działania funkcji:

Dodaj obrazek

Z góry dziękuję za pomoc :)

#2 Użytkownik jest niedostępny   erey Ikona

  • Uczestnik
  • PipPipPipPip
  • Grupa: Forumowicze
  • Postów: 137
  • Dołączył: 11-marzec 08
  • Płeć:Mężczyzna
  • Lokalizacja:Grodzisk Maz., Polska

Napisany 28 lipiec 2011 - 20:36

dodawaj normalny załącznik a nie zdjęcia - nie często będzie się komuś chciało przepisywać coś ze zdjęcia :<
zakresy kolumn E:F i H:I zdefiniowane nazwami owoców (sprawdzisz w menu\wstaw\nazwa\definiuj) i po tych nazwach będą rozróżniane zakresy przeszukiwania przez wyszukaj.pionowo()
WYSZUKAJ.PIONOWO(B2;ADR.POŚR(A2);2;0)

Załączone pliki



#3 Użytkownik jest niedostępny   slaglu86 Ikona

  • Adept
  • Pip
  • Grupa: Forumowicze
  • Postów: 4
  • Dołączył: 29-lipiec 11

Napisany 29 lipiec 2011 - 06:37

Sory za problem z załącznikiem. Gdybyś go usunął z kompa dołączam go jeszcze raz ( ten Twój ). W funkcji brakuje mi jeszcze tylko jednej użytecznej rzeczy. Otóż jeśli ilość w kolumnie B byłaby przykładowo taka: 2,3 to excel zwracał by wartość dla JABŁKA 2,3 = 1,54. Czyli krótko mówiąc zwracałby wartość kolejną. Mam nadzieję że wytłumaczyłem to dosyć łatwo.

Myślę że dałoby się to wykonać w sposób taki że jeśli w zakresie nie byłoby wartości 2,3 funkcja zaokrąglałaby daną liczbę do największej dostępnej w zakresie, i zwracała wartość tej największej dostępnej.

PS: A czy dalbyś radę stworzyć coś takiego że w przypadku drugiego zakresu np. Gruszki jest tylko jedna liczba np. 5 z dwiema wartościami 0,8 i 1,5. I jeśli w liście owoców jest pozycja GRUSZKA 4 zwracana jest wartość 0,8 a gdy liczba GRUSZKI wynosci 10 (bo>5) to zwracana jest wartość 1,5.

W załączniku plik z tymi liczbami.

Z góry dzięki :)

Załączone pliki



#4 Użytkownik jest niedostępny   erey Ikona

  • Uczestnik
  • PipPipPipPip
  • Grupa: Forumowicze
  • Postów: 137
  • Dołączył: 11-marzec 08
  • Płeć:Mężczyzna
  • Lokalizacja:Grodzisk Maz., Polska

Napisany 29 lipiec 2011 - 08:37

po przemodelowaniu tablicy gruszka
0 0,8
5,00001 1,5

można tak...
=JEŻELI(ORAZ(B1="";B2="");"";JEŻELI(ORAZ(A2="";B1<>"");SUMA($C$1:C1);WYBIERZ(PODAJ.POZYCJĘ(A2;{"JABŁKO";"GRUSZKA"};0);WYSZUKAJ.PIONOWO(JEŻELI(MOD(B2;1)=0;B2;PRZESUNIĘCIE($E$2;PODAJ.POZYCJĘ($B2;$E$3:$E$20;1)+1;0));ADR.POŚR(A2);2;0);WYSZUKAJ.PIONOWO($B2;ADR.POŚR(A2);2;1))))


ale weź chłopie pisz od razu czego chcesz bo formułki rosną i zaraz wejdziemy w funkcje użytkownika, kiedy można było tak od razu

Załączone pliki



#5 Użytkownik jest niedostępny   slaglu86 Ikona

  • Adept
  • Pip
  • Grupa: Forumowicze
  • Postów: 4
  • Dołączył: 29-lipiec 11

Napisany 29 lipiec 2011 - 09:17

Coś jednak nie działa tak jak powinno.
W przypadku podania wartości 0,2 funkcja powinna zwrócić 0,23
W przypadku 0,5 powinna zwrócić 0,23 a nie 0,59
Zaś w przypadku Jabłka 2 powinien 0,59.

W załączniku przedstawione błędy.

Załączone pliki



#6 Użytkownik jest niedostępny   erey Ikona

  • Uczestnik
  • PipPipPipPip
  • Grupa: Forumowicze
  • Postów: 137
  • Dołączył: 11-marzec 08
  • Płeć:Mężczyzna
  • Lokalizacja:Grodzisk Maz., Polska

Napisany 29 lipiec 2011 - 10:16

=JEŻELI(ORAZ(B1="";B2="");"";JEŻELI(ORAZ(A2="";B1<>"");SUMA($C$1:C1);WYBIERZ(PODAJ.POZYCJĘ(A2;{"JABŁKO";"GRUSZKA"};0);WYSZUKAJ.PIONOWO(JEŻELI(NIE(CZY.BŁĄD(PODAJ.POZYCJĘ(B2;$E$3:$E$20;0)));B2;PRZESUNIĘCIE($E$2;PODAJ.POZYCJĘ($B2;$E$3:$E$20;1)+1;0));ADR.POŚR(A2);2;1);WYSZUKAJ.PIONOWO($B2;ADR.POŚR(A2);2;1))))
i dodajemy 0 na liście jabłek

Załączone pliki



#7 Użytkownik jest niedostępny   slaglu86 Ikona

  • Adept
  • Pip
  • Grupa: Forumowicze
  • Postów: 4
  • Dołączył: 29-lipiec 11

Napisany 29 lipiec 2011 - 13:31

Super właśnie o to mi chodziło. Bardzo dziękuję za pomoc. Mam już tylko jedno małe pytanie, a nie chcę zakładać osobnego tematu do tego. Otóż jeśli chcę przefiltrować kolumnę, używając filtrowania zaawansowanego. Wybieram Akcja: Kopiuj w inne miejsce, zaznaczam zakres listy; wybieram Kopiuj do(wybieram komórkę) i zaznaczam "Tylko unikatowe rekordy" ponieważ z całej kolumny chcę wyciągnąć wszystkie wartości unikatowe. Jednak używając tego filtru gdy pierwsze dwie komórki filtrowanej kolumny są takie same, filtr zwraca mi powtorzenie. Jak to rozwiązać ?

Załączone pliki



#8 Użytkownik jest niedostępny   slaglu86 Ikona

  • Adept
  • Pip
  • Grupa: Forumowicze
  • Postów: 4
  • Dołączył: 29-lipiec 11

Napisany 02 sierpień 2011 - 09:06

Macie jakiś pomysł ?

Prześlij ten temat:


Strona 1 z 1
  • Nie możesz rozpocząć nowego tematu
  • Nie możesz odpowiadać w tym temacie


1 Użytkowników czyta ten temat
0 użytkowników, 1 gości, 0 anonimowych użytkowników


Reklama