首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DATEDIF的列的负引用或颠倒顺序

DATEDIF的列的负引用或颠倒顺序
EN

Stack Overflow用户
提问于 2017-12-04 04:49:56
回答 0查看 341关注 0票数 0

我在A:A列中有一个不规则日期的升序排序列表:

代码语言:javascript
复制
A           B   C   D (A:A,A2:A)   E (A:A,A3:A)
2017-11-09  10  10  NA             NA 
2017-11-10  11  21  1              NA
2017-11-14  15  36  4              5
2017-11-15  22  58  1              5

列C:C是B:B的累加和。我正在尝试获取D:D/E:E中的above公式,以查找当前行(开始日期)和上面X行(结束日期)之间的datedif:

代码语言:javascript
复制
=ArrayFormula(DATEDIF(B:B-(X Rows),B:B,"D"))

目标是找出X天内D:D的变化范围:

代码语言:javascript
复制
D:D - D:D-rowX / datedif (A:A-rowX, A:A)

即在行C4上运行2天:

代码语言:javascript
复制
(C4-C2) / datedif(C4-2,C4,"D")
(58-21) / datedif(C2,C4,"D")
37 / 5 = 7.4

在第C10行上运行5天:

代码语言:javascript
复制
(C10-C5) / datedif(C10-5,C10,"D")

在行C20上运行15天:

代码语言:javascript
复制
(C20-C5) / datedif(C20-15,C20,"D")

我试图计算1,2,3,4,7,28行的X,这意味着数组必须从1,2,3,4,7,28行开始。

现在,数组错误到错误引用,因为第一个开始日期是DATEDIF( B-X,B1,"D"),其中B-X是无效的负引用。具有错误值而不是错误引用的数组公式似乎只是跳过错误,并在输入有效后开始工作。但我不知道如何跳过不好的推荐信。我尝试过用INDIRECT强制开始日期,但不能让它将值识别为日期。我还尝试了DATEDIF(B:B, B:B+X,"D"),它会输出正确的数字,但结果会被X行偏移。我已经尝试过反向排序A:A,=ArrayFormula(if(len(A:A),DATEDIF(SORT(A2:A,1,0),SORT(A:A,1,0),"D"),""))它会生成一个正确答案的逆序列表,我不知道如何将其反向。

看起来我漏掉了什么明显的东西?

编辑:尝试澄清原始帖子

有没有一种简单的方法来替换整个列?替代解决方案?

公式大致有效,但没有对齐到正确的行:

代码语言:javascript
复制
C D E
1 2 3
1 2 3
1 2 3
1 2
1

我只需要把它展示出来

代码语言:javascript
复制
C D E
1
1 2
1 2 3 
1 2 3
1 2 3

为了对齐,我可以在F列的row2中放入单元格:

代码语言:javascript
复制
=array_constrain(ARRAYFORMULA(D:D),COUNT(A:A)-2,1)

或列G的row3中的单元格:

代码语言:javascript
复制
=array_constrain(ARRAYFORMULA(E:E),COUNT(A:A)-3,1)

但是如果我尝试使用row1的触发器公式:

代码语言:javascript
复制
=arrayformula(if(row(A:A)>=2,array_constrain(D:D,COUNT(A:A)-2,1)))

它将所有>=2行标记为假,并且仍然呈现D:D,而不将单元格移动到适当的行数:

代码语言:javascript
复制
C D 
1 false
1 2 
1 2 
1 2
1

编辑:我正在关闭请求,最终只使用了vlookup(B:B-X),它提供了一个大致足够的结果来满足我的需求。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47623154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档