lookup for values in another sheet, repeat in cycles: =IF(OR(MOD(ROW()-1,21)>17,MOD(ROW()-1,21)=0),INDEX(datasource!$A$2:$A$279,(1+ROUNDDOWN(((ROW()-2)/21),0)),1),IF(MOD(ROW()-1,21)>13,INDEX(datasource!$B$2:$B$279,(1+ROUNDDOWN(((ROW()-2)/21),0)),1),IF(MOD(ROW()-1,21)>9,INDEX(datasource!$C$2:$C$279,(1+ROUNDDOWN(((ROW()-2)/21),0)),1),INDEX(datasource!$D$2:$D$279,(1+ROUNDDOWN(((ROW()-2)/21),0)),1)))) if a specific value is found, replace it with another value (simplified, not very elegant version): =IF(EXACT(D2; "kontrola "); "CAL_KONTROL";IF(EXACT(D2; "lepenie "); "CAL_LEP";IF(EXACT(D2; "balenie "); "CAL_BAL";IF(EXACT(D2; "montaz "); "CAL_MON";IF(EXACT(D2; "calunenie"); "CAL_CAL";0))))) fulltext search in range, return the row number where text was found and use it to extract value from another row (something like extended vlookup): =IF(EXACT("C";LEFT(C2;1));CONCATENATE("M-UD-diel-";C2);IF(EXACT("M";LEFT(C2;1));C2;INDEX(Sheet2!$A$1:$B$207;MATCH(""&C2&"";Sheet2!$A$1:$A$207;0);2)))