You could go through, create a list of worksheets and use this formula to derive an index of those worksheet, then use that index to offset:
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,50)
used with a named range containing your worksheet list, it would look like:
=MATCH(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,50),WorksheetList,0)
A bit simpler version would be to create a UDF to return the index. If you go to the VBA IDE (alt-F11), insert a new module, and paste in this code:
Public Function wksIndex() As Integer
If TypeName(Application.Caller) = "Range" Then
wksIndex = Application.Caller.Parent.Index
Else
wksIndex = -1
End If
End Function
you can just set up your formulas like:
=Offset(Active!$H22,wksindex(),0)
which would look up the worksheet index and offset from Active!H22 down one row. This does assume your worksheets are in order, and you might have to adjust the range or add or subtract from wksIndex() to get the right reference.