Add a RelativeTo optional parameter to ROW() and COLUMN()
At present ROW() and ROW(rangeName) return the row index relative to the containing worksheet. Such an index cannot be used directly in
= INDEX( rangeName, rowIndex )
so formulas such as
= ROW()  ROW(rangeName) + 1
or, array entered,
{= ROW(rangeName)  ROW(INDEX(rangeName, 1, 1 ) + 1}
are frequently used. A second parameter would refer the row index to the specified range rather than the worksheet. The formulas above would reduce to
= ROW( , rangeName ) [current row index within range 'rangeName']
or
{= ROW( rangeName, rangeName )}
[an array of integers from 1 to ROWS(rangeName) ]
This would make the functions more consistent in use with
= MATCH(value, rangeName, 0)
for example, that returns row numbers relative to the range and not the worksheet.
2 comments

Anonymous commented
To Kenneth, we are here to request a solution, not a workaround. We ask for frequently used formula solution.
by the way, can your nontable version cater for array formula?

Kenneth Barber commented
The other way to get a row number is to use ROWS.
For a table column called "Row", you would use
=ROWS(INDEX([Row],1):[@Row])The nontable version would be
=ROWS($A$1:A1)
dragged down.