我有两列日期。一个是日期的移动,另一个是移出日期。我想弄清楚租户在第二个日期范围内有多少天。例如:我们7月份的“床位日”总数是多少? 7/1 / 2016-7 /二千〇一十六分之三十一
此函数计算每个租户每月在那里的天数,但我希望如果我可以将整个计算放入一个单元格而不创建每个月的虚拟列。
=MAX(0,MIN(EOMONTH($B$2,0),I14)-MAX($B$2,H14))
我尝试更改一些内容并将其用作数组函数,但它无法正常工作。我对数组函数很新,所以我可能完全错了。
=SUM(MAX(0,MIN(EOMONTH($B$2,0),I:I)-MAX($B$2,H:H)))
非常感谢任何帮助!如果您还需要更多信息,请告诉我。
答案 0 :(得分:1)
坏消息 - 您不能在这样的数组公式中使用MAX和MIN,因为它不是将H和I视为两个数组而是将它们视为一个大的长数组,而您只能从它们中获取一个值
您还需要在原始公式中添加1,因为如果他们在月份的最后一天搬入(比方说),那么它仍应计为一天。
如果用IF语句替换MAX和MIN,你会得到类似的结果
=SUM(IF(IF(EOMONTH($B$2,0)<IF(I2:I10="Active",TODAY(),I2:I10),EOMONTH($B$2,0),IF(I2:I10="Active",TODAY(),I2:I10))-IF($B$2>H2:H10,$B$2,H2:H10)<0,0,
IF(EOMONTH($B$2,0)<IF(I2:I10="Active",TODAY(),I2:I10),EOMONTH($B$2,0),IF(I2:I10="Active",TODAY(),I2:I10))-IF($B$2>H2:H10,$B$2,H2:H10)+1))
必须使用 Ctrl Shift 输入
输入如果您不熟悉数组,那么一个有用的提示是不要在数组公式中包含比您需要的更多的行,因为它会很慢,并且首先在少量行上测试它,以便您可以使用它来逐步执行它如果遇到麻烦,请评估公式。