You can add two columns before the SUMPRODUCT.
First column, say this is in column B, will need to have CONCATENATE to the external spreadsheet that you want to link to. For example:
=CONCATENATE("[Stock Register.xlsx]Stock Code",ROW(A1),"!$E$3:$E$500")
This should give you [Stock Register.xlsx]Stock Code 1!$E$3:$E$500.
Same thing for the second column that you want for $C$3:$C$500 so you can get [Stock Register.xlsx]Stock Code 1!$C$3:$C$500.
Then the third column, say this is in column D, will be the SUMPRODUCT formula that with INDIRECT. And here you go:
=SUMPRODUCT(--(INDIRECT(B1)="Issued to Sanitary Syndicate"),INDIRECT(C1))
Hope this helps.
P.S. One thing I noticed when combining all three into one column, the formula wouldn't work. Someone probably can come up a better way but to have a reference address sit next to the result may benefit you to debug down the road. Just a thought.
UPDATED:
Okay, I was able to recreate what I described below. Maybe it is easier to show you in screenshots:
- See I created three sheets in
Stock Register.xlsx file, Stock Code 1 sheet looks like below that values under column C and descriptions under column E.
And another spreadsheet called Results.xlsx. Column B has a formula of =CONCATENATE("'[Stock Register.xlsx]Stock Code ",ROW(A1),"'!$E$3:$E$500").

- In this picture,
Stock Code 2 sheet looks like below.
Column C in Results.xlsx spreadsheet has a formula of =CONCATENATE("'[Stock Register.xlsx]Stock Code ",ROW(A1),"'!$C$3:$C$500").

- In this picture,
Stock Code 3 sheet looks like below.
Column D in Results.xlsx spreadsheet has a formula of =SUMPRODUCT(--(INDIRECT(B1)="Issued to Sanitary Syndicate"),INDIRECT(C1)).

Try again and let me know.