Onda probaj ove tri formule ispod (malo poduži tekst ali ja ne znam kako da ti drugačije pojasnim).
U ovom primjeru koristio sam
INDEX/MATCH kombinaciju funkcija/formula.
Workbook 'Otpad' u ćeliji 'D3' (kopiraj samo dolje)
ARRAY Formula (završavaš je sa
Ctrl+Shift+Enter ili CSE)
Code:
=INDEX(INDIRECT("'[Proizvodnja.xlsx]"&DAY($G$1)&"'!D$3:D$13");MATCH($A3;INDIRECT("'[Proizvodnja.xlsx]"&DAY($G$1)&"'!A$3:A$13")&INDIRECT("'[Proizvodnja.xlsx]"&DAY($G$1)&"'!B$3:B$13");0))
Workbook 'Otpad' u ćeliji 'E3' (kopiraj samo dolje)
ARRAY Formula (završavaš je sa Ctrl+Shift+Enter ili CSE)
Code:
=INDEX(INDIRECT("'[Proizvodnja.xlsx]"&DAY($G$1)&"'!E$3:E$13");MATCH($A3;INDIRECT("'[Proizvodnja.xlsx]"&DAY($G$1)&"'!A$3:A$13")&INDIRECT("'[Proizvodnja.xlsx]"&DAY($G$1)&"'!B$3:B$13");0))
Workbook 'Otpad' u ćeliji 'F3' (kopiraj samo dolje)
ARRAY Formula (završavaš je sa Ctrl+Shift+Enter ili CSE)
Code:
=INDEX(INDIRECT("'[Proizvodnja.xlsx]"&DAY($G$1)&"'!F$3:F$13");MATCH($A3;INDIRECT("'[Proizvodnja.xlsx]"&DAY($G$1)&"'!A$3:A$13")&INDIRECT("'[Proizvodnja.xlsx]"&DAY($G$1)&"'!B$3:B$13");0))
Uoči da su ovo "
Formule Polja" (ARRAY ili CSE formula) koje mogu opteretiti vrijeme Excel kalkulacije ako imaš puno redova i podataka. Ove formule ne možeš završiti samo sa 'Enter' tipkom već kombinacijom Ctrl+Shift+Enter.
Također uoči da je korištena
Excel funkcija INDIRECT koja je "
Volatile Funkcija" kao i tvoja
=NOW() koju si koristio u G1 ćeliji i "nije je preporučljivo koristiti", ako se baše ne mora.
Tri iznad navedene formule funkcioniraju na slijedeći način:
-
MATCH funkcija vraća broj reda za uvjet, ovdje sam koristio spajanje dva podatka iz stupaca 'A' i 'B' iz Workbook 'Proizvodnja'. Da bi mogao koristiti promjenjivi podatak iz ćelije 'G1' koristio sam Indirect funkciju.
-
INDEX funkcija/formula vraća rezultat iz reda koji je dala Match formula. Da bi mogli koristiti promjenjivi podatak u ćeliji G1 ja sam upotrijebio INDIRECT funkciju koja uz tekstualni string vraća adresu u kojoj Index formula traži rezultat.
Ako malo bolje pogledaš
INDEX funkciju i njenu sintaxu tada ćeš vidjeti da je prvi argument "array" ili "reference". Za ovaj prvi argument iskorisito sam INDIRECT funkciju/formulu.
Ova
Excel ugniježđena funkcija tj. Indirect formula tijekom kalkulacije vraća rezultate iz svih ćelija navedenog raspona (A3:A13).
Da bi ovo provjerio koristi tipku "F9" ili "
Evaluate Formula". Primjere možeš vidjeti na dotičnim linkovima.
-
INDIRECT funkcija uz pomoć niza stringova vraća putanju/adresu koje onda
ugniježđena formula pretvara u upotrebljiv podatak za nadređenu funkciju.
Napomena:
Ako u Workbook 'Otpad' ukloniš stupac 'A' u kojem se nalaze spojeni podaci iz stupaca 'B' i 'C' tada unutar MATCH formule možeš koristiti
Concatenate funkciju. U stvari možeš i u ovom primjeru ispod, ali tek toliko ako želiš izbjeći stupac 'A'.
umjesto ovog ispod
Code:
;MATCH($A3;INDIRECT(
koristi ovaj dio koda ispod
Code:
;MATCH($B3&$C3;INDIRECT(
Ako želiš
izbjeći error #N/A koristi funkciju
IFERROR ili IF ako želiš izbjeći i nulu (0).
Moraš isprobati i vidjeti vrijeme trajanja kalkulacije u odnosu na količinu redova i podataka.
Vidi primjere u privitku.