Formula nije baš jednostavana ako si početnik, pa polako. Važno je da razumeš apsolutno i relativno adresiranje u formulama, pa ako ti to nije jasno nadji detaljnije na netu.
Formula bi bila jednostavnije da su podaci drugačije organizovani - u stilu neke liste npr
Datum, Smena, Radnik
Pa bi onda iz te liste mogao da se napravi i kalendar (List 1) i report (List 3). Ovako iz kalendara je malo komplikovanije
Prvo zbog praćenja sam dodao pomoćnu kolonu H na listu 3 gde određuješ u kojoj koloni na listu 1 je traženi datum. Ovu kolonu na kraju možeš sakriti. Koristi se MATCH funkcija
Code:
=MATCH(A3,List1!$A$2:$AF$2, 0)
Koja će za datum u A3 vratiti broj kolone na listu 1 (opseg $A$2:$AF$2, uzet apsolutno)
Na sličan način možemo dobiti i broj reda koji odgovara 1 smeni za kolonu 3:
Code:
=MATCH(1, List1!$C$2:$C$8, 0)
U tom redu se nalazi ime radnika za tu smenu u koloni A.
Problem je što se kolona koju pretražujemo menja od datuma, do datuma - to je vrednost u koloni H a ne fiksna vrednost
Možemo da se pomognemo funkcijom INDIRECT
Code:
=INDIRECT("List1!R4C"&$H4&":R8C"&$H4,FALSE)
Ova funkcija će vratiti adresu opsega koji treba da pretražimo na osnovu vrednosti iz kolone H. Opet obrati pažnju na apsolutno adresiranje kolone H
Kad to ubacimo u prethodnu formulu dobijemo
Code:
=MATCH(1, INDIRECT("List1!R4C"&$H4&":R8C"&$H4,FALSE), 0)
i to bi bila formula za prvu smenu. Da bi formula važila i za ostale smene (2, 3 umesto 1). Možemo da iskoristimo zaglavlje i LEFT funkciju
Code:
=MATCH(INT(LEFT(B$2,1)), INDIRECT("List1!R4C"&$H4&":R8C"&$H4,FALSE), 0)
Na kraju za slučaj kad nema rasporeda za tu smenu i taj dan da upišemo prazno polje sve uokvirimo u ISNA
Code:
=IFNA(INDEX(List1!$A$4:$A$8, MATCH(1, INDIRECT("List1!R4C"&$H3&":R8C"&$H3,FALSE), 0), 1), "")
Nije to loše Rembrante, samo što ne bi dodao još malo boje?