I was sad to lose my faux-OO notation
projects.count, ROWS(tblProject),
but I can get by without it!
I have still to determine where one should draw the line (before the 126 name limit is reached, for example). Formulas such as the one I wrote today in response to a community question can get pretty intimidating, as well as being completely alien to a 'normal' spreadsheet buff.
= LET(
\0, "Generate indices",
N, COUNTIF(Project[Working Area],Criterion),
k, SEQUENCE(8*N,1,0),
recordOffset, QUOTIENT(k,8),
fieldOffset, MOD(k,8),
\1, "Filter fields and records to extract relevant data",
headers, FILTER(Project[#Headers],columnFilter),
selectedFields, FILTER(Project, columnFilter),
filteredKey, FILTER(Project[Projeto], Project[Working Area]=Criterion),
filteredTable, FILTER(selectedFields, Project[Working Area]=Criterion),
\2, "Assemble report recombining project key and selected data",
reportKey, INDEX(filteredKey, 1+recordOffset),
reportHeader, IF(fieldOffset, INDEX(headers, 1+fieldOffset), reportKey),
reportData, INDEX(filteredTable, 1+recordOffset, 1+fieldOffset),
report, CHOOSE({1,2}, reportHeader, reportData),
report )
It filters a table using a single criterion, selects specified fields to return and pivots them to fit a vertically formatted sequence of reports and, finally, adds the project heading for each report and row headings for the data values. Maybe too much for a single formula?
BTW, I notice that it is easy to forget the "," before alt/enter and the error returned is not as specific as it might be. I would still like to be able to type ";" as a line separator and get the line feed and spaces for free.