日期循环和反向逻辑的excel公式

时间:2019-05-31 14:36:08

标签: excel-formula

嗨,我在开发公式来计算Excel中的以下逻辑时遇到问题。我需要确定30天内的患者就诊时间,然后在确定的30天内确定处方药的最新日期。 可以说患者第一次就诊是在2018年12月18日,这应该算作是新就诊。因此,直到2019年1月18日为止的所有访问都被视为在30天访问之内。这个公式使我很好地解决了这个问题。

=OM(OCH(ELLER(C3=C2;C3=C4);ANTAL.OM(C:C;C3)>1;ANTAL.OM(C$2:C3;C3)>1;DAGAR(A3;A2)<30;DAGAR(A3;A4)<30;DAGAR(A:A;A3)<30);"Within 30dgr";"New Visit")

然后我进入KolumnG。

不,但是在12月18日至1月18日期间,我需要确定Recepee注册日期的最新日期,该日期在Kolumn F中可用,而且我甚至可以从公式开始入手。

Image

1 个答案:

答案 0 :(得分:0)

对于问题的第一部分,您的公式中有一个小错误-由于差异小于30,因此最后一行不应该是“新访问”。

为了使事情易于理解,我另外创建了1列,如下所述:

enter image description here

  1. 与最新新条目的日期差异:这将是

a。 0 if-首次进入患者;

b。行日期与上一个新输入日期之间的差异

c。当差异超过30时重置-例如:在第5行中diff> 30,因此在第6行中进行重置,并计算第6行与第5行之间的差异,而不是第6行与第1行

  1. 唯一身份访问:标记访问是新访问还是30天之内

日期差的公式(输入第1行):

=IF(D2<>D1,0,IF(I1="New",B2-B1,B2-B1+H1))

唯一身份访问的公式:

=IF(D2=D1,IF(H2<30,"Within 30","New"),"New")

将这些公式放在第一行,然后向下拖动以自动填充。

  1. 最新收件人注册日期:如果条目是30天中的最后一个条目,则捕获收件人的注册日期。

公式:

=IF(D2<>D3,G2,IF(I3="New",G2,""))

注意:我看到您的数据是按日期排序的,其他日期也按升序排序。当所有日期的数据按升序排序时,以上这些公式将起作用。对于其他排序,需要更改公式。