Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

formiranje višestrukog uslova

[es] :: Office :: Excel :: formiranje višestrukog uslova

[ Pregleda: 2053 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

spirit_face
Bojan Repanovic
Novi Sad

Član broj: 90186
Poruke: 43
*.ptt.rs.

Sajt: www.spirit-face.tk


+1 Profil

icon formiranje višestrukog uslova23.09.2014. u 23:56 - pre 115 meseci
Pravim neki program za singularno izravnanje geodetskih mreža. Suština je da mi je potrebno višestruko uslovljavanje da bih u odgovarajuće polje matrice uneo odgovarajući podatak. Pokušavam sa ugnješdenim IF naredbama, ali ne mogu da održim konce jer je previše uslova.
Da li postoji neki editor pomoću koga bih mogao da napiše odgovarajuću petlju, a da je zatim ubacim u excel.

Ovo je kod koji sam napravio, ali se gubim u zagradama i separatorima:
Code:

=IF(C41=K2;
    IF(B41="PRAVAC";
        VLOOKUP(CONCATENATE(C41;"-";D41);$B$26:$F$37;5;FALSE);
            IF(B41="DUZINA";
                VLOOKUP(CONCATENATE(C41;"-";D41);$B$26:$D$37;3;FALSE);
                    VLOOKUP(CONCATENATE(C41;"-";D41);$B$26:$F$37;5;FALSE)-VLOOKUP(CONCATENATE(C41;"-";E41);$B$26:$F$37;5;FALSE);
            )
    );
    IF(D41=K2;
        IF(B41="PRAVAC";
            VLOOKUP(CONCATENATE(D41;"-";C41);$B$26:$F$37;5;FALSE);
                IF(B41="DUZINA";
                    VLOOKUP(CONCATENATE(D41;"-";C41);$B$26:$D$37;3;FALSE);
                        VLOOKUP(CONCATENATE(D41;"-";C41);$B$26:$F$37;5;FALSE);
                )
            );
    IF(E41=K2;
        IF(B41="PRAVAC";
            VLOOKUP(CONCATENATE(E41;"-";C41);$B$26:$F$37;5;FALSE);
                IF(B41="DUZINA";
                    VLOOKUP(CONCATENATE(E41;"-";C41);$B$26:$D$37;3;FALSE);
                        -VLOOKUP(CONCATENATE(E41;"-";C41);$B$26:$F$37;5;FALSE);
                )
            )
    )
    )
    0.00000
)


Kod sam pokušao da napiše u Notepad++, pa da zatim izbrišem ve razmake i smestim ga u ćeliju excel-a, ali uporno grešim...
Mr_Spirit
 
Odgovor na temu

FOX028
Visoka tehnicka skola strukovnih studija
Kosovska Mitrovica

Član broj: 258986
Poruke: 850

Sajt: https://www.zile028.com


+49 Profil

icon Re: formiranje višestrukog uslova24.09.2014. u 08:56 - pre 115 meseci
Imas mogucnost da u VBA napises funkciju kojoj bi definisao potrebne argumente i kasnije je pozivas kao bilo koju vec ugradjenu funkciju u Excel-u. Funkciju pises u Modulu. Ako ne budes uspeo da odradis ovo okaci tvoj Excel fajl pa da pokusamo da resimo problem. U ovom tvom kodu koji si napisao sa zagradam mislim da je sve OK, ali imas previse uslova nego sto Excel podrzava, zato ti je po meni jednostavnije da napises funkciju u VBA.

[Ovu poruku je menjao FOX028 dana 24.09.2014. u 10:07 GMT+1]
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1318

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: formiranje višestrukog uslova24.09.2014. u 09:14 - pre 115 meseci
Za formule ove složenosti je bolje osloniti se na VBA.

Ili, ako je to problem, možda da koristiš pomoćne ćelije i imenovane opsege. Ovde koliko vidim "čitaš" iz tabele vrednosti a to se lakše kontroliše kada te vrednosti držimo izvan formule.

Što se belina u formuli tiče, njih ne moraš uklanjati ako ti olakšavaju čitanje; npr u mom Excel 2010 ostaju kako ih ukucam, jedino što formulu naknadno moram da listam kad je ovako duga.

Koliko mogu da primetim, kod tebe je greška u sintaksi jer si kucao tačku-zarez iza poslednjeg IF() argumenta.
Tačka-zarez je separator između dva argumenta pa tako ispada da tražiš i četvrti argument, koji ne postoji.

Ovo je nešto jednostavnije, ali verujem da može još kraće:
Code:
=IF(C41=K2;
        IF(B41="PRAVAC";
                VLOOKUP(C41&"-"&D41;$B$26:$F$37;5;FALSE);
                        IF(B41="DUZINA";
                                VLOOKUP(C41&"-"&D41;$B$26:$D$37;3;FALSE);
                                        VLOOKUP(C41&"-"&D41;$B$26:$F$37;5;FALSE)-VLOOKUP(C41&"-"&E41;$B$26:$F$37;5;FALSE)
                        )
        );
        IF(D41=K2;
                IF(B41="PRAVAC";
                        VLOOKUP(D41&"-"&C41;$B$26:$F$37;5;FALSE);
                                IF(B41="DUZINA";
                                        VLOOKUP(D41&"-"&C41;$B$26:$D$37;3;FALSE);
                                                VLOOKUP(D41&"-"&C41;$B$26:$F$37;5;FALSE)
                                )
                        );
        IF(E41=K2;
                IF(B41="PRAVAC";
                        VLOOKUP(E41&"-"&C41;$B$26:$F$37;5;FALSE);
                                IF(B41="DUZINA";
                                        VLOOKUP(E41&"-"&C41;$B$26:$D$37;3;FALSE);
                                                -VLOOKUP(E41&"-"&C41;$B$26:$F$37;5;FALSE)
                                )
                        )
        )
        )
       )

Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

[es] :: Office :: Excel :: formiranje višestrukog uslova

[ Pregleda: 2053 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.