ive got the following formula

=SUM(IF(B4<>0,'AZG'!B4,"0"))+(IF(C4<>0,'[2005_Goals.xls]AZG'!C4,"0"))+(IF(D4<>0,'[2005_Goals.xls]AZG'!D4,"0"))+(IF(E4<>0,'[2005_Goals.xls]AZG'!E4,"0"))+(IF(F4<>0,'[2005_Goals.xls]AZG'!F4,"0"))+(IF(G4<>0,'[2005_Goals.xls]AZG'!G4,"0"))+(IF(H4<>0,'[2005_Goals.xls]AZG'!H4,"0"))+(IF(I4<>0,'[2005_Goals.xls]AZG'!I4,"0"))+(IF(J4<>0,'[2005_Goals.xls]AZG'!J4,"0"))+(IF(K4<>0,'[2005_Goals.xls]AZG'!K4,"0"))+(IF(L4<>0,'[2005_Goals.xls]AZG'!L4,"0"))+(IF(M4<>0,'[2005_Goals.xls]AZG'!M4,"0"))

essentially im trying to only pull a value from another spreadsheet only if the corresponding value on this spreadsheet is populated.

This formula seems to work, but when i exit out, it fills the exact reference for the file path, and i run out of characters (255 char. limit)

is there a way to leave the naming absolute [goals.xls]?

Is there a way to simplify my formula?

Below is what i get when it populates the full path:

=SUM(IF(B4<>0,'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goals.xls]AZG'!B4,"0"))+(IF(C4<>0,'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goals.xls]AZG'!C4,"0"))+(IF(D4<>0,'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goals.xls]AZG'!D4,"0"))+(IF(E4<>0,'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goals.xls]AZG'!E4,"0"))+(IF(F4<>0,'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goals.xls]AZG'!F4,"0"))+(IF(G4<>0,'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goals.xls]AZG'!G4,"0"))+(IF(H4<>0,'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goals.xls]AZG'!H4,"0"))+(IF(I4<>0,'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goals.xls]AZG'!I4,"0"))+(IF(J4<>0,'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goals.xls]AZG'!J4,"0"))+(IF(K4<>0,'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goals.xls]AZG'!K4,"0"))+(IF(L4<>0,'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goals.xls]AZG'!L4,"0")) M4<>0 'C:\Documents and Settings\Owner\Desktop\Goals\[2005_Goal