Hi @Anonymous ,
Firstly, please notice Excel is not a delegate data source.
So using formula like this will also have delegation problem.
ClearCollect(colFirst15K, Filter(myExcelFile, ID <= 15000));
That's the reason why you could only get 2000 records by using this formula.
Secondly, if you insist in using Excel as data source, there's only one solution:
save data in collection.
There's no delegation limit in collection.
So please use this formula in your app's OnStart:
ClearCollect(colMyRecords, myExcelFile)
//replace with your excel table name
However, this has limit too. Collection's storage is not unlimited. I don't have 15k records to make a test. You could try this solution to see whether collection could save so many records. If could, it will be the best solution in your issue.
Then in your app, please use the collection as your other formulas' data source, instead of the Excel file.
Or else, you will meet delegation problem.
Thirdly, if one collection could not save15k records, the only way to solve your problem is to change data source.
PowerApps have three delegate data sources:
By using delegate data sources, you could use delegate functions to avoid the effect of delegation.
I more suggest you use sharepoint as data source.
You could use "Export to sharepoint list" directly in your Excel file.

In sharepoint, "Filter",">+<" are all delegate.
Then you could save data in several collections.
ClearCollect(collection1, Filter(sharepoint listname, ID <= 10000));
ClearCollect(collection2, Filter(sharepoint listname, ID > 10000 && ID <=20000));
....
Then use these collections as your data source in your app.