With the following "dummy" data:
var coll = new[] {
new {Agency = "AA", Div="a", Val=0},
new {Agency = "BB", Div="a", Val=-1},
new {Agency = "BB", Div="b", Val=-2},
new {Agency = "BB", Div="b", Val=-3},
new {Agency = "AA", Div="a", Val=-4},
new {Agency = "AA", Div="c", Val=-5},
new {Agency = "AA", Div="d", Val=-6},
new {Agency = "CC", Div="a", Val=-7},
};
If you want the collection of distinct division values, try something like this:
string Agency = "AA";
var q = from x in coll
where x.Agency == Agency
group x by x.Div into dg
select new { Div = dg.Key, Count = dg.Count() };
Giving 3 results:
q[0] = { Div = "a", Count = 2 }
q[1] = { Div = "c", Count = 1 }
q[2] = { Div = "d", Count = 1 }
Is this what you're looking for?