I can think of two ways to do this. I think index-match-index would work or an array index match. See here:

https://exceljet.net/formula/index-and-match-with-multiple-criteria
The other way is to create a text string of the net score after each inning using text values in reverse order.

So a 5 inning game that went 1,-2,0,-1,+2 would be coded as +1,-2, +-0 , -1, +2 would concatenate to "+2-1+-0-2+1" in a given cell. For this to work, every cell must be in text format. In my spreadsheet this reverse order value is in cell G1.

Then use this formula on the concatenated value:

=IF(ISERROR(ROUNDDOWN(IF(LEFT(G1,1)="-",(SEARCH("+",G1)-1)/2,(SEARCH("-",G1)-1)/2),0))=TRUE,"Firstinning",ROUNDDOWN(IF(LEFT(G1,1)="-",(SEARCH("+",G1)-1)/2,(SEARCH("-",G1)-1)/2),0))

The essence of the formula is this: =IF(LEFT(G1,1)="-",(SEARCH("+",G1)-1)/2,(SEARCH("-",G1)-1)/2)

Where if the first character of the string (which is the last inning) is a "-" then it searches the string for the first "+" and vice versa searching for "-" where the last inning is a "+". Since the concatenated string is the game by inning in reverse order, this searches backwards through the game for the last time the losing team led the game. Subtracting 1 and dividing by 2 will get you how many innings back from the end of the game the final lead change occurred. Should be simple from there to translate that to an inning based on how long the game was. I've used rounddown to get rid of half innings caused by the zero having both signs and iserror to get rid of problems where a team takes the lead in the first inning and never gives it up. In that case it returns "firstinning".

I'm not sure if I totally understand your problem, but I think the reverse concatenate here is the key to getting the "+5" instead of the "+2" in the example from your first post.