Excel - 从行中第一个和最后一个非空单元格中获取 header

Excel - get header from first & last non empty cells in row

我有商品的每周销售额 (D4:L6)。我想计算第一次销售的周数和最后一次销售的周数(B4:C6)。

我不知道如何解决这个问题,我在网上找到了获得连续第一个非空单元格、连续最后一个非空单元格的方法,但无法弄清楚它的 header

第一周你可以做的事:

=INDEX($D:$L,XMATCH(1,SIGN($D4:$L4),0,1) )

上周:

=INDEX($D:$L,XMATCH(1,SIGN($D4:$L4),0,-1) )

如果您真的是指周数,请将 $D:$L 更改为 $D:$L

一个简单的解决方法是通过以下解决方案:

首次销售(周):

B4: {=INDEX($D$2:$L$2,MATCH(TRUE,D4:L4>0,0))}

B5: {=INDEX($D$2:$L$2,MATCH(TRUE,D5:L5>0,0))}

B6: {=INDEX($D$2:$L$2,MATCH(TRUE,D6:L6>0,0))}

在这种情况下,公式是矩阵公式,要在单元格中输入它们,您必须按 Ctrl+Shift+Enter。优点是兼容其他版本的Office

MATCH 函数允许引用第一个有值的单元格,从左到右搜索。 然后 INDEX 函数允许 return 对应于该引用但在另一行中的值(在本例中为第 2 行,表示日期)。

上次销售(周):

C4: { =INDEX($2:$2,MAX(列($D4:$L4)*($D4:$L4<>"")))}

C5: { =INDEX($2:$2,MAX(列($D5:$L5)*($D5:$L5<>""))}

C6: { =INDEX($2:$2,MAX(COLUMN($D6:$L6)*($D6:$L6<>""))}

在这种情况下,公式将查找对最后一个具有值的单元格的引用,return 与第 2 行中该引用对应的值,与前一种情况非常相似。

您可以在此处查看文件:https://docs.google.com/spreadsheets/d/1EtbISoTpCZCwCez5T2ftUEXaovf9C2Uh/edit?usp=sharing&ouid=117983986506590434361&rtpof=true&sd=true