I have customized a few tax schedule reports to sort them into currencies. So I produce a tax schedule report for dollars, a tax schedule report for euros, and a tax schedule report for pounds. (I do this to power query them into Excel for a combined tax schedule report converted into dollars at the exchange rate in effect on the date of the transaction). The easiest way to do this is to exclude/include accounts based on the currency of the account.
All of accounts also appear at the bottom of the category list. If they are checked there, it overrides the account criteria. In other words, if a euro account is unchecked for the report, but checked as a category, any transaction in the euro account is included even where the category of the transaction does not include the euro account.
This is counterintuitive. It should be that a transaction is excluded if the account is excluded, or if the category is excluded, even if it matches an account. It should be "include if (account is included AND category is included)". I think this is the way it works when the category is not an account.
[Edited - Readability]