Forum » Programiranje » [Excel] Gnezdenje več kot 9 IF stavkov s pomočjo VB kode
[Excel] Gnezdenje več kot 9 IF stavkov s pomočjo VB kode
adinfinito ::
Torej, zagate so postale ko nisem mogel gnezdit dalje IF stavkov:
Mislim, da boste hitro ugotovili vzorec. Tole zadevo moram gnezdit še najmanj 25 krat, ampak ne gre več kot 3 (oz 6).
Kakšne so ideje za dokončanje tega? Mogoče preko VBA?
Any ideas on how I could get it accomplished? Maybe through VBA?
Upam, da je kdo na tem forumu, ki lahko to "cracka"
=IF(AND(ROWS(A$2:A2)<=$T$9;$R$9="OK");INDEX(INDIRECT("'"&$O$9&"'!$A$6:$H$250");SMALL(IF(NOT(INDIRECT ("'"&$O$9&"'!$H$6:$H$250")="");ROW(INDIRECT("'"&$O$9&"'!$H$6:$H$250"))-ROW(INDIRECT("'"&$O$9&"'!$H$6"))+1);(ROWS(A$2:A2)));1); IF(AND(ROWS(A$2:A2)<=$T$10;$R$10="OK");INDEX(INDIRECT("'"&$O$10&"'!$A$6:$H$250");SMALL(IF(NOT(INDIRECT("'"&$O$10&"'!$H$6:$H$250")="");ROW(INDIRECT("'"&$O$10&"'!$H$6:$H$250"))-ROW(INDIRECT("'"&$O$10&"'!$H$6"))+1);(ROWS(A$2:A2)-$T$9));1); IF(AND(ROWS(A$2:A2)<=$T$11;$R$11="OK");INDEX(INDIRECT("'"&$O$11&"'!$A$6:$H$250");SMALL(IF(NOT(INDIRECT("'"&$O$11&"'!$H$6:$H$250")="");ROW(INDIRECT("'"&$O$11&"'!$H$6:$H$250"))-ROW(INDIRECT("'"&$O$11&"'!$H$6"))+1);(ROWS(A$2:A2)-$T$10));1); . . . "")))
Mislim, da boste hitro ugotovili vzorec. Tole zadevo moram gnezdit še najmanj 25 krat, ampak ne gre več kot 3 (oz 6).
Kakšne so ideje za dokončanje tega? Mogoče preko VBA?
Any ideas on how I could get it accomplished? Maybe through VBA?
Upam, da je kdo na tem forumu, ki lahko to "cracka"
FlashM ::
če moraš tako gnezdit, nekaj delaš narobe
hehe, totally agree with that :-)
Simple solutions are usually best!
adinfinito ::
Ni kaj, hitri ste.
Demonstracija problema:
Z listov A B in C hočem imeti postavke ki so označene z x. Te postavke se združijo v listu List z kodo.
Zadeva mora bit dinamična. Če se doda novi list z kategorijami ki jih hočem mora ta prit noter v enoten seznam.
Koda ki sem jo prej prilepil
se nadaljuje v spodnji celici tako:
[URL="http://i46.tinypic.com/2nl7h9e.jpg"]htt...
Če bi kdo znal rešit moj problem mu lahko tudi dam celoten Excel.
Demonstracija problema:
Z listov A B in C hočem imeti postavke ki so označene z x. Te postavke se združijo v listu List z kodo.
List z kodo SheetA x Sheet B Sheet C x ...... Sheet A R2 Row 1 Row 1 Row 1 x Sheet A R5 Row 2 x Row 2 Row 2 Sheet C R1 Row 3 Row 3 Row 3 x Sheet C R3 Row 4 Row 4 Row 4 x Sheet C R4 Row 5 x Row 5 Row 5
Zadeva mora bit dinamična. Če se doda novi list z kategorijami ki jih hočem mora ta prit noter v enoten seznam.
Koda ki sem jo prej prilepil
=IF(AND(ROWS(A$2:A2)<=$T$9;$R$9="OK");INDEX(INDIRECT("'"&$O$9&"'!$A$6:$H$250");SMALL(IF(NOT(INDIRECT("'"&$O$9&"'!$H$6:$H$250")="");ROW(INDIRECT("'"&$O$9&"'!$H$6:$H$250"))-ROW(INDIRECT("'"&$O$9&"'!$H$6"))+1);(ROWS(A$2:A2)));1); IF(AND(ROWS(A$2:A2)<=$T$10;$R$10="OK");INDEX(INDIRECT("'"&$O$10&"'!$A$6:$H$250");SMALL(IF(NOT(INDIRECT("'"&$O$10&"'!$H$6:$H$250")="");ROW(INDIRECT("'"&$O$10&"'!$H$6:$H$250"))-ROW(INDIRECT("'"&$O$10&"'!$H$6"))+1);(ROWS(A$2:A2)-$T$9));1); IF(AND(ROWS(A$2:A2)<=$T$11;$R$11="OK");INDEX(INDIRECT("'"&$O$11&"'!$A$6:$H$250");SMALL(IF(NOT(INDIRECT("'"&$O$11&"'!$H$6:$H$250")="");ROW(INDIRECT("'"&$O$11&"'!$H$6:$H$250"))-ROW(INDIRECT("'"&$O$11&"'!$H$6"))+1);(ROWS(A$2:A2)-$T$10));1);"")))
se nadaljuje v spodnji celici tako:
=IF(AND(ROWS(A$2:A3)<=$T$9;$R$9="OK");INDEX(INDIRECT("'"&$O$9&"'!$A$6:$H$250");SMALL(IF(NOT(INDIRECT("'"&$O$9&"'!$H$6:$H$250")="");ROW(INDIRECT("'"&$O$9&"'!$H$6:$H$250"))-ROW(INDIRECT("'"&$O$9&"'!$H$6"))+1);(ROWS(A$2:A3)));1); IF(AND(ROWS(A$2:A3)<=$T$10;$R$10="OK");INDEX(INDIRECT("'"&$O$10&"'!$A$6:$H$250");SMALL(IF(NOT(INDIRECT("'"&$O$10&"'!$H$6:$H$250")="");ROW(INDIRECT("'"&$O$10&"'!$H$6:$H$250"))-ROW(INDIRECT("'"&$O$10&"'!$H$6"))+1);(ROWS(A$2:A3)-$T$9));1); IF(AND(ROWS(A$2:A3)<=$T$11;$R$11="OK");INDEX(INDIRECT("'"&$O$11&"'!$A$6:$H$250");SMALL(IF(NOT(INDIRECT("'"&$O$11&"'!$H$6:$H$250")="");ROW(INDIRECT("'"&$O$11&"'!$H$6:$H$250"))-ROW(INDIRECT("'"&$O$11&"'!$H$6"))+1);(ROWS(A$2:A3)-$T$10));1);"")))
[URL="http://i46.tinypic.com/2nl7h9e.jpg"]htt...
Če bi kdo znal rešit moj problem mu lahko tudi dam celoten Excel.
Zgodovina sprememb…
- spremenilo: adinfinito ()
dfajt ::
Zdaj pa, če prav razumem problem.
Imaš nekaj listov (npr. A, B, C, ...) in list, kamor pišeš rezultate.
Če je v vrstici na listu A (B, C, ...) napisan X, potem številko vrstice napišeš med rezultate.
Narediš dve for zanki: eno po listih (A - zadnji list), drugo po vrsticah v tem listu.
Če je v vrstici napisan X, potem vsebino (številko ali kar pač) vrstice vpiši na list z rezultati.
Pri rezultatih povečaj vrstico za ena.
Imaš nekaj listov (npr. A, B, C, ...) in list, kamor pišeš rezultate.
Če je v vrstici na listu A (B, C, ...) napisan X, potem številko vrstice napišeš med rezultate.
Narediš dve for zanki: eno po listih (A - zadnji list), drugo po vrsticah v tem listu.
Če je v vrstici napisan X, potem vsebino (številko ali kar pač) vrstice vpiši na list z rezultati.
Pri rezultatih povečaj vrstico za ena.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | kompleksna številaOddelek: Šola | 1723 (1401) | FrRoSt |
» | Pomoč pri kvadratni f-jiOddelek: Šola | 1580 (1296) | ne_vem |
» | Ekstremalni problemOddelek: Šola | 1998 (1669) | fifika |
» | Excel - datumOddelek: Pomoč in nasveti | 2321 (2251) | iMark |
» | IP - > numeric???Oddelek: Omrežja in internet | 1471 (1229) | DeViCeD |