使用数组公式根据条件计算 datedif
Use an array formula to calculate datedif on criteria
假设我有一个范围内的已记录航班记录,示例如下
[A] | [B] | [C][D][...] | [G]
1 Date | Mode | More Data.... | Days Since
2 1 May | Day | .... | Formula here
3 4 May | Night | .... | Formula here
4 6 May | Day | .... | Formula here
5 8 May | Night | .... | Formula here
我可以使用公式来获取 G 列中每一行之间的 datedif,类似于
=DATEDIF(A2,A3,"d")
并将其一直复制到列中,但我猜我需要一个数组公式来返回并找到当前行上方与 B 列匹配的第一行并获取 datedif 或它们之间的天数两个日期。我假设一个数组公式,但最好的方法是什么?我需要结果是第 5 行和第 3 行(晚上)和第 4 行和第 2 行(白天)之间的天数,然后向下复制大约 300 行...
我正在查看另一个用于对行进行排序并消除空格的数组公式,但不确定如何使其适应这种情况。
要获得天数差异,您只需从另一个日期中减去一个日期。
LOOKUP
函数可以用来查找之前的匹配项,所以尝试将G2
中的这个公式复制下来
=IFERROR(A2-LOOKUP(2,1/(B:B1=B2),A:A1),"")
将结果单元格格式化为不带小数位的数字
假设我有一个范围内的已记录航班记录,示例如下
[A] | [B] | [C][D][...] | [G]
1 Date | Mode | More Data.... | Days Since
2 1 May | Day | .... | Formula here
3 4 May | Night | .... | Formula here
4 6 May | Day | .... | Formula here
5 8 May | Night | .... | Formula here
我可以使用公式来获取 G 列中每一行之间的 datedif,类似于
=DATEDIF(A2,A3,"d")
并将其一直复制到列中,但我猜我需要一个数组公式来返回并找到当前行上方与 B 列匹配的第一行并获取 datedif 或它们之间的天数两个日期。我假设一个数组公式,但最好的方法是什么?我需要结果是第 5 行和第 3 行(晚上)和第 4 行和第 2 行(白天)之间的天数,然后向下复制大约 300 行...
我正在查看另一个用于对行进行排序并消除空格的数组公式,但不确定如何使其适应这种情况。
要获得天数差异,您只需从另一个日期中减去一个日期。
LOOKUP
函数可以用来查找之前的匹配项,所以尝试将G2
中的这个公式复制下来
=IFERROR(A2-LOOKUP(2,1/(B:B1=B2),A:A1),"")
将结果单元格格式化为不带小数位的数字