如何写一个自定义公式,以便拖动选项不采取串联的单元格公式?

我有一个每天产生收入的Excel工作表。 周六,周日及其他公众假期,细胞将是空的。

在另一个工作表中,我需要生成一份每周报告,我只需要显示该周最后一次生成的收入。 例如,一个星期从星期一开始,到星期天结束。 Satruday和星期天细胞将是空的。 所以在Sheet2 A1中,我应该显示星期五的收入。 或者如果当天是星期二,它应该显示星期二的收入。 我使用下面的公式来填充值。

=IF('Sheet1'!A1<>"",IF('Sheet1'!B1<>"",IF('Sheet1'!C1<>"",IF('Sheet1'!D1<>"",IF('Sheet1'!E1<>"",IF('Sheet1'!F1<>"",IF('Sheet1'!G1<>"",'Sheet1'!G1,'Sheet1'!F1),'Sheet1'!E1),'Sheet1'!D1),'Sheet1'!C1),'Sheet1'!B1),'Sheet1'!A1),"") 

但是,如果我从表格A1中的单元格A1拖到B1,则应该考虑第2周,即第8列到第14列等等,但不是2到8。

那么我应该使用什么样的excel公式呢?

提前致谢

微软给这个公式来确定哪个是最后一个填充数据的单元格:

 =OFFSET(<StartCell>,0,MATCH(MAX(Range)+1,<Range>,1)-1) 

使用OFFSET来获取范围来检查,而使用ROW()来确定哪个区域,我们可以使开始的单元格OFFSET($A$1,(ROW()-1)*7,0) (假设你在1行,否则改变公式中的-1 )。 范围变得几乎相同,但是我们告诉OFFSET返回7个单元格: OFFSET($A$1,(ROW()-1)*7,0,7) 。 我们使用$来修正单元格,因为我们不想从一个可变的位置计算偏移量。 这给出了完整的公式:

 =OFFSET(OFFSET(Sheet1!$A$1,(ROW()-1)*7,0),MATCH(MAX(OFFSET(Sheet1!$A$1,(ROW()-1)*7,0,7))+1,OFFSET(Sheet1!$A$1,(ROW()-1)*7,0,7),1)-1,0) 

并且可以根据需要将其复制下来 – 当公式用完数据时,您将开始获得#N / A。

任何更简单的方法可能是有一个隐藏的行,看看是否单元格A1,B1等有一个值,并看看下一个是空白的。 当这个陈述是真实的时候,返回1,因为那将是最后一个。

然后用V或HLOOKUP查找列中有1的列。

阅读起来比较容易,而且您可以在更多列中使用它,而不必增大公式。