I'm assuming the following:
1. You want to join all items where Delivery Area matches on the middle section (part between two hyphens) if there exist more than one item with the same middle section.
2. If there is only one item in the list with at particular middle section, you want to identify it by name.
3. You want to sum the values of field1 and field2 for merged items and preserve the count for non-merged items.
If all of that is correct, I think this should do what you're looking for:
[ your current search]
| rex field="Delivery Area" "[^-]-(?<mergeable>[A-Z]+)-"
| eventstats count by mergeable
| eval title=if(count>1,"All-".mergeable, 'Delivery Area')
| stats sum(f*) AS f* BY title
| rename title AS "Delivery Area"