Вы переусложнили. Хотя да, я тоже не понял, почему ваша формула в одном случае работает правильно, а в другом случае нет.
На примере ячейки D7 вместо четырёх функций
=OFFSET(INDIRECT(REGEXREPLACE(FORMULATEXT($C$1);"[=]";""));0;8)
используйте всего одну функцию
=VLOOKUP($B7;'Лист1'!$A$3:$L$18;8+1;FALSE)
(специально написал не 9, а 8+1, чтобы было понятно, что это та самая 8 из OFFSET)