私はVB.netで作業していないので、コードを許してください。ただし、次のように、プロジェクションのインデックスを取得できます。
Dim result = exceldt.AsEnumerable() .Select (Function(item, index) _
New With { .Index = index, .SerialNumber = item }).ToList
VBでこれ以上提供することはできませんが、この簡単な例はコンソールアプリとして機能します。選択/投影がインデックスとアイテムをどのようにキャプチャするかを確認できます。最初の列挙をフィルタリングする前に、同様のロジックを組み込む必要があります。
Dim names = {"Andy", "Tom", "Fred", "Sally"}
Dim results = names _
.Select(Function(item, index) New With {.Index = index, .Name = item}) _
.OrderBy(Function(item) item.Name)
For Each item In results
Console.WriteLine("{0} - {1}", item.Index, item.Name)
Next
結果
0 - Andy
2 - Fred
3 - Sally
1 - Tom