Достаточно просто и с формулами. Вот что получилось:
Теперь по ячейкам:
Для
Year:
=ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($D$1;A2;1)>0;ЕСЛИ((ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;":";"")))=0;ПСТР(B2;1;ДЛСТР(B2));ПСТР(B2;1;ПОИСК(":";B2;1)-1));"NULL");"NULL")
Для
Storey:
=ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($E$1;A2;1)>0;ЕСЛИ(ДЛСТР(A2)=(ЕСЛИ(D2="NULL";0;5)+6);1;ПСТР(B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1))+1;ПОИСК(":";B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1))+1)-((ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1))+1)));"NULL");"NULL")
Для
Area:
=ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($F$1;A2;1)>0;ЕСЛИ(ДЛСТР(A2)=(ЕСЛИ(D2="NULL";0;5)+ЕСЛИ(E2="NULL";0;7)+4);ПСТР(B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1))+1;ДЛСТР(B2)-(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)));ПСТР(B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1))+1;ПОИСК(":";B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1))+1)-((ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1))+1)));"NULL");"NULL")
Для
Condition:
=ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($G$1;A2;1)>0;ЕСЛИ(ДЛСТР(A2)=(ЕСЛИ(D2="NULL";0;5)+ЕСЛИ(E2="NULL";0;7)+ЕСЛИ(F2="NULL";0;5)+9);ПСТР(B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1))+1;ДЛСТР(B2)-(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1)));ПСТР(B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1))+1; ПОИСК(":";B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1))+1)-((ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1))+1) ));"NULL");"NULL")
Для
Type:
=ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($H$1;A2;1)>0;ЕСЛИ(ДЛСТР(A2)=(ЕСЛИ(D2="NULL";0;5)+ЕСЛИ(E2="NULL";0;7)+ЕСЛИ(F2="NULL";0;5)+ЕСЛИ(G2="NULL";0;10)+4);ПСТР(B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1)+ЕСЛИ(G2="NULL";0;ДЛСТР(G2)+1))+1;ДЛСТР(B2)-(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1)+ЕСЛИ(G2="NULL";0;ДЛСТР(G2)+1)));ПСТР(B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1)+ЕСЛИ(G2="NULL";0;ДЛСТР(G2)+1))+1; ПОИСК(":";B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1)+ЕСЛИ(G2="NULL";0;ДЛСТР(G2)+1))+1)-((ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1)+ЕСЛИ(G2="NULL";0;ДЛСТР(G2)+1))+1) ));"NULL");"NULL")
Для
Name:
=ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($I$1;A2;1)>0;ПСТР(B2;(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1)+ЕСЛИ(G2="NULL";0;ДЛСТР(G2)+1)+ЕСЛИ(H2="NULL";0;ДЛСТР(H2)+1)+1);ДЛСТР(B2)-(ЕСЛИ(D2="NULL";0;ДЛСТР(D2)+1)+ЕСЛИ(E2="NULL";0;ДЛСТР(E2)+1)+ЕСЛИ(F2="NULL";0;ДЛСТР(F2)+1)+ЕСЛИ(G2="NULL";0;ДЛСТР(G2)+1)+ЕСЛИ(H2="NULL";0;ДЛСТР(H2)+1)));"NULL");"NULL")
Главное, чтобы поля соответствовали нужным ячейкам, либо поменять названия ячеек в формулах.