首页 文章

如何在Google电子表格中创建相对于当前单元格的范围

提问于
浏览
0

我再次提出了相同的问题/要求,但有一个明确的小例子来正确地表达意图 .

我有一列有日期,但并不是每一行都有它 . 相邻列应具有自该日期以来发生的天数 . 该公式应该是什么 . 我尝试了几件事,但仍然无法正确理解 . 以下是一个例子 .

A           B         C              D
1      S.no.     Task        Date        Number of days
2       1        task1       10may16        6
3       1.1      task2                      6
4       1.2      task3                      6
5       2        task4       12may16        4
6       2.1      task5                      4
7       3        task6       13may16        3

这里如何在'D'列中获取正确的值,特别是在D3,D4和D6中?对于这些单元格,它从“B”列的前一个填充行开始占用参考日期 . 当前日期假定为2016年5月16日 .

老问题如下

我试图根据不同列中的另一个单元格找出列中的非空单元格 . 例如,这是B1列中的最后一个非空单元格:Bx,其中'x'是E列中的行号,当我尝试在E24中使用该值时,我使用此值,例如24 .

在我的情况下,列B包含日期,'E'包含当前日期与列'B'中的日期之间的差异 . 有时相应的列没有日期,在这种情况下,我会去查找该列中的最后日期并找到差异 .

我一直在寻找互联网以找到方法来做到这一点,但还没有找到任何东西 . 可能接近我想要的一种方式在Get the last non-empty cell in a column in Google Sheets给出 . 但是这也没有搜索完整列,而只是直到'E'列中需要值的行 . 这是我无法适应给定公式的地方 . 我试过的那个,如下所示,导致 #Error! .

=INDEX(FILTER( "B2:B"&ROW()-1 , NOT( ISBLANK( "B2:B"&ROW()-1 ) ) ) , ROWS( FILTER( "B1:B"ROW()-1 , NOT( ISBLANK( "B2:B"&ROW()-1) ) ) ) )

所以,我想,我想知道基于当前行值创建范围的正确方法 . 错误很可能是部分 "B2:B"&ROW()-1

1 回答

  • 0

    最简单的方法是使用exrta列和日期

    A        B        C             D             E
    S.no.   Task    Date         Date        Number of days
    1       Task1   5/10/2016    5/10/2016                6
    1.1     Task2                5/10/2016                6
    1.2     Task3                5/10/2016                6
    2       Task4   5/12/2016    5/12/2016                4
    2.1     Task5                5/12/2016                4
    3       Task6   5/13/2016    5/13/2016                3
    

    D2的公式:

    =if(C2="",D1,C2)
    

    对于E2:

    =TODAY()-D2
    

    需要复制公式 .


    使用 indirect 的公式:

    =INDEX(FILTER( indirect("B2:B"&ROW()-1) , NOT( ISBLANK( indirect("B2:B"&ROW()-1) ) ) ) , ROWS( FILTER( indirect("B2:B"&ROW()-1)  , NOT( ISBLANK( indirect("B2:B"&ROW()-1)) ) ) ) )
    

相关问题