Excel 将函数排序到 "skip" 第一行

Excel sort function to "skip" 1st row

我的问题是因为我想按照以下问题中提供的方式对数据进行排序:
How to select all the column based minimum date value in a sheet

我想做的是select数据(Range A1:F9)并对其进行排序:

NAME CARD NUMBER ACCOUNT NUMBER SBL Transaction Type SBL Transaction Amount SBL Transaction Date
B 4779 1 POS purchase 280 02-08-2021
B 4779 1 POS purchase 1 03-05-2021
S 1475 2 POS purchase 389 05-04-2021
S 1475 2 POS purchase 755 05-11-2021
S 1475 2 POS purchase 1794 05-15-2021
A 0173 3 POS purchase 1 02-01-2021
A 0173 3 POS purchase 1 02-02-2021
A 0173 3 POS purchase 1 02-03-2021

我所做的是 select 包含 header =SORT(A1:F9,6) 的数据,结果是 header 与数据一起排序(当然):

然后我想到了让 SORT 函数忽略第一行然后对其余行进行排序的想法。
我的第一次尝试是 =IF(ROW(A1:F9)=1,A1:F9,SORT(A1:F9,6))

如您所见,header 工作正常,但排序后的数据包括 header,因为它是排序后范围内的最后一个 A1:F9

从排序范围 =IF(ROW(A1:F9)=1,A1:F9,SORT(A2:F9,6)) 中排除 header 行也不起作用,因为该范围随后小于导致以下错误的输出范围,并且仍然跳过一个数据行:

我设法通过在排序范围内插入 al 零的替代 header 来使其正确,然后使用此函数将排序范围堆叠到 headers 上(这也提供了空间两行 headers):

=LET(D,A1:F9,rowD,ROW(D),rowsD,ROWS(D),colsD,COLUMNS(D),H,A1:F1,header,INDEX(D,1,1):INDEX(D,ROWS(H),COLUMNS(H)),subsHeader,SEQUENCE(1,colsD,0,0),subsD,IF(rowD<=ROWS(header),subsHeader,D),sortedSubsD,SORT(subsD,6),IF(SEQUENCE(rowsD)<=ROWS(header),header,sortedSubsD))

但我想知道是否有更优雅的方法使用公式对数据范围进行排序而不影响 header。

由于 Darren Bartrup-Cook 的贡献,结果是 =LET(data;A1:F9;header;A1:F2;sortCol;6;SORTBY(data;IF(ROW(data)>ROWS(header);1;0);1;INDEX(data;;sortCol);1))

如果您有备用列,请在 header 旁边添加 0,并将其他行留空。然后,您可以先对该列进行排序,然后再对另一列进行排序。

然后您可以对 A 列进行 SORTBY,然后对 F 列进行排序。
=SORTBY(B1:F6,A1:A6,1,F1:F6,1)