Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Excel tabelka i wzór. Wartość w zależności od parametru.

yamahav 23 Feb 2011 13:56 7902 20
  • #1
    yamahav
    Level 12  
    Witam
    Mam problem z napisaniem formuły do wzoru w exelu. Mam tabelkę w której zawarte jest klasa betonu oraz wytrzymałość betonu. Są również dwie stałe. W tabelce zrobiłem filtr. Problem polega na tym że nie wiem jak napisać formułe żeby przy wyborze Betonu np. B20 lub B25 we wzorze brało mi wartości z kolumny obok przypisanej do danego betonu.Może nie jasno napisałem ale załacznik wszystko wyjaśni. Bardzo Proszę o odpowiedź jak mozna to zrobić.
    Pozdrawiam
    Ethernet jednoparowy (SPE) - rozwiązania w przemyśle. Szkolenie 29.09.2021r. g. 11.00 Zarejestruj się za darmo
  • #3
    yamahav
    Level 12  
    Jakieś rozwiązanie jest. Tylko zależy mi na tym żeby były wzory a potem wynik przy takim rozwiązaniu nie widać jak na dłoni co z skąd się wzjęło. I dzięki za rozwiązanie jak innego nie znajdę to zastosuję to.
  • #4
    marek003
    Level 40  
    W excelu nie da się "wrzucić" danych do rysunku. Poniżej masz dwa rozwiązania:
    zapis "w ciągu" (nawiasy niepotrzebne ale określają licznik) i efekt pseudograficzny. Ja przynajmniej innego wyjścia nie widzę.

    Excel tabelka i wzór. Wartość w zależności od parametru.
    Jeżeli ma być tylko jedna liczba po przecinku zmień w formule zaokrąglenia z 2 na 1

    Moment z załącznikiem bo zauważyłem błąd

    Dodane po dłuższej chwili
    ------------------------------------------------------
    Już poprawiłem. Oczywiście tabelę z danymi (wiersze) są ukryte.
  • #5
    yamahav
    Level 12  
    Przesyłam załacznik z reszta tabelek które doszły. W formule nie wiem tylko skąd jest opis "3;0" co on oznacza do reszty doszedłem. W tabelce z grubością blachy i gatunkiem stali też bym chciał żeby tak robiło jak z betonem tylko teraz zamiast jednej wartości jest kilka w zalezności od grubości.
    Przy tabelce przy słupie jeszcze nie rozplanowałem sonie jak obliczyć podstawę słupa przy wyborze ceówki ale to będzie coś podobnego jak z betonem tylko dojdzie średnica otworu. Prośba o odpowiedz co oznaczają cyfry na końcu formuły "3;0" oraz jak rozgryść tabelkę z różnymi grubościami. Z góry dzięki za informacje
    pozdrawiam
  • #6
    marek003
    Level 40  
    yamahav wrote:
    ... Prośba o odpowiedz co oznaczają cyfry na końcu formuły "3;0" ...

    Na razie tylko to bo nie mam czasu.

    To konieczne parametry funkcji wyszukaj.pionowo(X;Y;M;N).
    WYSZUKAJ.PIONOWO(Co szukać; tabela gdzie w pierwszej kolumnie sa przeszukiwane wartości ; numer kolumny z której pobrać dane jak juz znajdzie w pierwszej kolumnie szukaną; dokładność szukania -zero musi być to samo a 1 może być cos podobnego do szukanej)

    Innymi słowy "3" świadczy o tym że chcę pobrać dana z trzeciej kolumny wskazanej wcześniej (przed średnikiem) tabeli, a "0" świadczy o tym że ma znaleźć w kolumnie pierwszej dokładnie to co szukam (nic przybliżonego) a jeżeli nie będzie szukanej w pierwszej kolumnie to zwróci błąd (dlatego w sprawdzaniu poprawności [wyborze betonu] wyłączyłem możliwość pustej komórki).
  • #7
    yamahav
    Level 12  
    ok to już wiem
    a jak z tabelka gdzie zależna jest grubość od wytrzymałości stali. Jeśli wybiorę stal 235 i np. gr. 80mm to żeby wzjeło wytrzymałość właśnie z tych parametrów
  • #8
    marek003
    Level 40  
    Rozwiązań jest wiele

    Zrób podobnie jak wcześniej. Tylko nr kolumny w wyszukaj.pionowo() uzależnij od wyboru grubości.
    Zrób dwie komórki "stal" (np w a1) gdzie będzie wybór stali i "grubość"(np. w a2) gdzie będzie grubość blachy) a potem złącz dwie formuły:

    WYSZUKAJ.PIONOWO(stal;cała tabelka;PODAJ.POZYCJE(grubość; tabelka a właściwie sam wiersz z nagłówkami grubości;0);0)
  • #9
    yamahav
    Level 12  
    Ok to pokombinuje i jakby co to napisze. Jeszcze jakbyś mógł mi odpowiedzieć na 3 pytania.
    1. Jak zrobić przy ostatniej tabelce. gdzie np. b/l=0,5 to współczynnik mi =0,354
    Jak to opisać że jak wyjdzie 0,55 to bierze z b/l =0,5 a jak wyjdzie 0,56 to bierze z b/l=0,6. I Czy można połączyć że szuka poziomo b/l i jak znajdzie to weźmie pionową wartość przypisana do odpowiedniego b/l?
    2. Czy w exelu można zrobić jakąś stronę do wydruku tylko nie to co zaznacza standardowo dzieląc kartki na format A4. Tylko czy można zrobic że będzie drukować dane(kolumny wybrane przezemnie) i wzory z wynikami. Albo czy można napisać sobie stronę w wordzie i połączyć to z exelem żeby w wybrane miejsca wstawiło wybrane komórki z exela
    3. Czy można zabezpieczyć plik przed otwarciem hasłem że np. jakby ktoś skopiował mój plik i otworzył go 3 razy to przy 4 uruchomieniu nie mógłby otworzyć bez hasła? Lub np. że mozna otworzyć a jest gdzies ukryta blokada która uniemożliwia zmiany betonu na wiekszy wpisania większej siły niz 5kN. a jawiedząć gdzie jest komórkam moge ją odblokować i będzie działać.
    prosze o odpowiedzi.Jeśli dałoby się zrobić te trzy pytania to prośba o opisanie jak to zrobić.
    I widze że znasz się na exelu może mógłbyś mi napisać przesłać jakieś fajne rozwiązania które zastosowałeś kiedyś w exelu?
    Pozdrawiam
  • #10
    marek003
    Level 40  
    yamahav wrote:
    Ok to pokombinuje i jakby co to napisze. Jeszcze jakbyś mógł mi odpowiedzieć na 3 pytania.

    Jesteś pewny że to tylko trzy pytania? :)

    Quote:
    Jak zrobić przy ostatniej tabelce. gdzie np. b/l=0,5 to współczynnik mi =0,354 ... I Czy można połączyć że szuka poziomo b/l i jak znajdzie to weźmie pionową wartość przypisana do odpowiedniego b/l?


    Wykorzystaj funkcje WYSZUKAJ.POZIOMO() analogicznie jak z funkcją wyszukaj.pionowo() z tym że zamiast nr kolumny wybierasz nr wiersza.

    Quote:
    Jak to opisać że jak wyjdzie 0,55 to bierze z b/l =0,5 a jak wyjdzie 0,56 to bierze z b/l=0,6.

    Są dwa rozwiązania i nie do końca takie jak chcesz:
    Jedno to zaokrąglenie do jednego miejsca po przecinku =ZAOKR(wynik;1) niby spełnia najlepiej twoje oczekiwanie ale ... matematyczne zaokrąglenie 0,55 zawsze da 0,6, zaokrąglenia tzw "bankowe" zaokrągla 0,55 w dół 0,5 ale takie zaokrąglenie zaokrągla wszystkie nieparzyste w dół a parzyste w górę czyli np 0,52 zaokrągli do 0,6 a 0,57 do 0,5. [w Polsce to zaokrąglenie jest mało stosowane ale w stanach prawie zawsze, na marginesie standardowe zaokrąglenie w VBA jest właśnie takie "bankowe"] Jeżeli to jest ważne trzeba by było zaprząc jeszcze funkcję jeżeli
    Np tak
    =JEŻELI(PRAWY(LICZBA.CAŁK(A1*100);1)="5";ZAOKR(A1-0,01;1);ZAOKR(A1;1))

    Z tym że wtedy 0,559 tez zaokrągli do 0,5

    Druga metoda to we wcześniej stworzonej funkcji WYSZUKAJ.POZIOMO() na końcu wstaw parametr 1 zamiast 0 (warunek: wartości w tabeli (wierszu) muszą być rosnąco) z tym że wtedy będzie wskazywał zawsze mniejszą wartość do puki szukana wartość nie osiągnie poziomu następnej danej (takie zaokrąglenie w dół) acha i szukana wartość musi być większa od najmniejszej w wierszu.


    Quote:

    2. Czy w exelu można zrobić jakąś stronę do wydruku tylko nie to co zaznacza standardowo dzieląc kartki na format A4. Tylko czy można zrobic że będzie drukować dane(kolumny wybrane przezemnie) i wzory z wynikami.


    Możesz np. w drugim arkuszu (Arkusz2) stworzyć sobie odpowiednią stronę do wydruku która będzie pobierać wybrane dane z Arkusza1

    Quote:

    Albo czy można napisać sobie stronę w wordzie i połączyć to z exelem żeby w wybrane miejsca wstawiło wybrane komórki z exela

    Dawno się tak nie bawiłem ale wydaje mi się że można to było zrobić. Muszę sobie przypomnieć kwestię odświeżania.

    Quote:

    3. Czy można zabezpieczyć plik przed otwarciem hasłem że np. jakby ktoś skopiował mój plik i otworzył go 3 razy to przy 4 uruchomieniu nie mógłby otworzyć bez hasła? Lub np. że mozna otworzyć a jest gdzies ukryta blokada która uniemożliwia zmiany betonu na wiekszy wpisania większej siły niz 5kN. a jawiedząć gdzie jest komórkam moge ją odblokować i będzie działać.


    Da się. Ale tu dochodzi "zabawa" z makrem w VBA a to wymaga więcej czasu i co najważniejsze gotowego i działającego już arkusza bo w grę będą wchodzić konkretne komórki i arkusze.

    Quote:

    I widze że znasz się na exelu może mógłbyś mi napisać przesłać jakieś fajne rozwiązania które zastosowałeś kiedyś w exelu?

    :) Sam chcesz zabezpieczać "swoją" pracę a chcesz ode mnie "fajne rozwiązania". :)
    Ale nie byłoby sprawy, tylko że obawiam sie że na wszystkie moje "fajne rozwiązania" zabrakło by ci wolnego miejsca dysku (no może troche przesadzam :) ), nie wspominając o czasie jaki bym musiał je wysyłać :)
    Poza tym prawdę mówiąc wszystko znajdziesz w sieci a od ciebie zależy jak to wykorzystasz.

    Jak masz kłopoty z jakimś rozwiązaniem to pisz na forum. Jest dużo chętnych do pomocy i przedstawiania swoich rozwiązań bo na wszystko jest wiele rozwiązań. ("wszystkie drogi prowadzą do Rzymu")
  • #11
    yamahav
    Level 12  
    Dobra to przygotuje jeszcze dwie tabelki i biorę się za pisanie formułek. Jak z czymś sobie nie poradzę będę pisał Jeszcze raz dzięki za odpowiedzi
    Pozdrawiam
  • #12
    yamahav
    Level 12  
    Jeszcze jedno pytanie . Jakbyś mógł mi napisać jak zrobiłeś opis przy rozwijanym betonie "wciśnij strzałkę i wybierz rodzaj betonu" nie mogę sobie z tym poradić szukam w komentarzach ale to nie to. Z góry dzięki za odpowiedź

    Dodano po 2 [godziny] 21 [minuty]:

    Jeszcze drugie pytanie wyszło w trakcie pisania formul jak zrobic aby koncowy wynki np. dla betonu B25 fcd=13,33 bralo mi do dalszych obliczeń. jak np. zrobic żeby po obliczeniami zrobić kolumne fcd = ...... i z tej kolumny bralo mi wartośc do dalszych wzorów
  • #13
    marek003
    Level 40  
    yamahav wrote:
    Jeszcze jedno pytanie . Jakbyś mógł mi napisać jak zrobiłeś opis przy rozwijanym betonie "wciśnij strzałkę i wybierz rodzaj betonu" nie mogę sobie z tym poradić szukam w komentarzach ale to nie to. Z góry dzięki za odpowiedź


    To opcja sprawdzania poprawności (stąd jest też lista rozwijalna) Menu dane - Sprawdzanie poprawności... - W pierwszej zakładce "Ustawienia" wskazujesz listę i później źródło wierszy, w drugiej zakładce "Komunikat wejściowy" wpisujesz tekst.
    Excel tabelka i wzór. Wartość w zależności od parametru.

    yamahav wrote:

    Jeszcze drugie pytanie wyszło w trakcie pisania formul jak zrobic aby koncowy wynki np. dla betonu B25 fcd=13,33 bralo mi do dalszych obliczeń. jak np. zrobic żeby po obliczeniami zrobić kolumne fcd = ...... i z tej kolumny bralo mi wartośc do dalszych wzorów


    Jeżeli chodzi o komórke z jednym wynikiem:
    Zaznacz komórkę w której jest wynik i odczytaj jej namiary (w moim przykładzie było to N35)

    A później wykorzystuj jej "namiary" w budowaniu kolejnych formuł (możesz też podczas pisania formuły wskazać myszką [przycisnąć] o którą komórkę ci chodzi a jej "namiary" wpiszą sie bezpośrednio w formułę).

    Np. = N35*1,2+B8 .... itd.

    Jeżeli wynik jest "dynamiczny" to juz ci to raz tłumaczyłem (spójrz wyżej):

    WYSZUKAJ.PIONOWO(Co szukać; tabela z danymi gdzie w pierwszej kolumnie sa przeszukiwane wartości ; numer kolumny z której pobrać dane jak juz znajdzie w pierwszej kolumnie szukaną; dokładność szukania -zero musi być to samo a 1 może być cos podobnego do szukanej)
  • #14
    yamahav
    Level 12  
    Kurde troche trudniejsze niż myślałem wyszło następne pytanie.
    Zrobiłem tabelke z rodzajem stali grubością i z wytrzymalośćia dla danejk stali i grubości. Zrobilem sobie liste rozwijana dla stali i grubości i kombinuje jak to połączyć żeby przy wyborze stali i grubości wskakiwala odpowiednia wytrzymałość. napisałwm taką formułke =WYSZUKAJ.PIONOWO(O408;N98:P339:DODAJ.POZYCJE(O410;O99:O339;3;0)) ale jakis błąd wyskakuje. cos chyba przekombinowałem bo w funkcji wyszukaj pionowo chcialem żeby szukal w tabeli za pomoca dwóch danych wybranych z tej tabeli. Prośba jak to rozpisać żeby działało
  • #15
    marek003
    Level 40  
    Nie - to nie tak - nie do końca chyba rozumiesz funkcję wyszukaj.pionowo().
    Zmieniłeś układ tabeli. A to wpływa na "wyniki" szukania.
    Jeżeli tabele maja być w ten sposób co przedstawiłeś trzeba zmienić podejście do szukanych wartości. Zastosować inne funkcje.

    Zaraz spróbuje poprawić.

    Jakbyś zrobił transpozycje tabel byłoby prościej zrozumieć zastosowane funkcje. W tym układzie tabel wydaje mi się najlepiej zastosować funkcje indeks() lub inny sposób wykorzystania funkcji suma.iloczynów (jako nieomówiona w excelu suma warunków) ale wtedy będziesz miał jeszcze większe kłopoty ze zrozumieniem formuł.

    dodane po chwili
    ---------------------
    Zerknij czy tak może być.
    Zmieniłem układ twoich tabel (dwie wersje) i funkcje dla dwóch wersji. (docelowo jedną usuń)

    Jeżeli układ tabel ma być nie zmieniony (taki jak przedstawiłeś w swoim załączniku) to też się da ale jak wspomniałem innymi funkcjami więc wybieraj. Wieczorem (po 21) zerknę i jeżeli będziesz chciał po "twojemu" to się tak zrobi. Ale wtedy to dopiero będę ci musiał tłumaczyć skąd co się wzięło :)
  • #16
    yamahav
    Level 12  
    Witam
    Doszedłem do końca obliczeń z jednym przypadkiem jeszcze dwa zostały. I mam jeszcze jedno pytanie jak zrobić w exelu żeby wyskakiwał bład jak porównuje dwie komórki. Chodzi mi efek końcowy w którym np. siła z jaką działa słup N=1000 ma byc mniejsza równa od Nc=1200 jężeli tak jest to żeby wyskoczył komunikat że zaprojektowano poprawnie a jak Nc=800 to komunikat że warunek jest nie spełniony.
  • #17
    yamahav
    Level 12  
    Witam
    Kolego mam prośbę. Czy mógłbyś mi pomóc jeszcze w dwóch rzeczach. załącznik na forum. Chodzi mi o to jak zrobic w exelu żeby porównało dwie komórki liczbowe i jeżeli jedna jest większa od drugiej to żeby wyskoczył błąd. I druga sprawa zatrzymał mnie jeden wzorek równanie trzeciego stopnia kompletnie nie wiem jak go ugryźć a nie moge dalej pójść bez tej wyliczonej wartości. Bardzo proszę o odpowiedź i pomoc. Z góry dzieki za odpowiedź.
  • #18
    marek003
    Level 40  
    Co do "błędu" to :

    Code:
    =JEŻELI(ORAZ(I3>=1000;I3<=1200);"Warunek spełniony";"Warunek nie jest spełniony")
    Nie wiem czy dobrze zrozumiałem: dobry przedział to od 1000 do 1200 włącznie. Zamiast liczb możesz wskazać adresy komórek z liczbami określającymi przedział. W przykładzie dodałem jeszcze formatowanie warunkowe.

    Może być tez jeden warunek (od minus nieskończoność do 1200 jest dobrze) :
    Code:
    =JEŻELI(I3<=1200;"Warunek spełniony";"Warunek nie jest spełniony")

    Możesz też tworzyć warunki jakie chcesz wykorzystując oraz() i lub() mieszając je.


    Co do wielomianu trzeciego stopnia (akurat tego co przedstawiłeś) to nie jest to takie proste.
    Dawno temu miałem matematykę i na chwilę obecna nie mogę znaleźć dzielnika do tego równania aby przynajmniej "zejść" do X^2.
    Może to przez pochodną "rozwalić". Zaobserwować przebieg zmienności i wyznaczyć ekstrema - tylko jak to się będzie miało dla ciebie do dalszych obliczeń. (Ewentualnie daj ten wzór na forum matematyczne lub poszukaj rozwiązań tego wzoru [innego wzoru] na necie).
  • #19
    yamahav
    Level 12  
    Witam
    Równianie sobie poszukam jeszcze. A o ten błąd to prawie o to chodziło tylko przesyłam jedne obliczenia jak to ma wyglądać. W tej formule jest zakres 1000 a 1200 a mi chodzi o to że te wartości mogą się zmieniać zależy jak obliczenia wyjda i wtedy własnie tak jak zrobiłeś chce żeby wyskakiwoło warunek nie spełniony i warunek spełniony. I pytania jak zrobiłeś żeby podświetlało się na zielono jak warynek spełniony i na czerwono jak nie spełniony. Jakbyś jeszcze tylko zerknoł na załącznik i odpowiedział na pytania to byłbym bardzo wdzieczny. Zależy mi na fomule i jak przypisac kolor. i juz więcej nie męczę i z górydzi dziękuję za pomoc
  • #20
    marek003
    Level 40  
    Ten warunek to:
    Trzeba sprawdzić czy 67 (w komórce G58) jest mniejsze równe od 75 (w komórce I58)?
    Tylko tyle?
    To tak tak samo to zapisujesz:
    Code:
    =JEŻELI(G58<=I58;"Warunek spełniony";"Warunek nie jest spełniony") 


    Kolor "ustawiasz" poprzez Formatowanie warunkowe
    Stań na "kolorowej" komórce i wybierz menu "Format" a potem wybierz "Formatowanie warunkowe" i zobacz jak to wygląda.

    O to chodzi? Czy coś jeszcze?
  • #21
    yamahav
    Level 12  
    Ostatnie pytanie:
    Czy jest możliwe że jeżeli warunek jest nie spełniony to wyskakuje błąd chodzi mi o tego typu błąd jak np. przy wpisywaniu danych można do komórki przypisać że jak wpiszemy więcej cyfr niz jest zadane lub jak przekroczymy max wartość to wyskakuje błąd. W exelu tylko w takiej formie znalazłem żeby wyskakiwał bład. I Czy można np. przypisac to komórce dla komórki warunek jest spełniony lub warunek jest nie spełniony lub dla wartości do których te komórki się odnoszą?
    Prosze tylko o odpowiedź i jeżeli tak to jak to zrobić jeżeli nie da się to nie mam więcej pytań i za wszystkie odpowiedzi i pomoc dzięki serdeczne
    pozdrawiam