我正在尝试创建一个公式,该公式在上一行的基础上增加2列的值,需要注意的是,当存在某个值时,该值应增加1,而在存在另一个值时,其应增加2。
我已经在ID和NUMBER列中显示了预期的输出。
您会看到3组重复的数据,在ID列中突出显示,此值应每24行增加1-63、64、65-这可以手动完成,但是如果有公式可以这将非常有用。
这个问题的主要部分是NUMBER列,当C列更改为“ emr_p_file”时,NUMBER列应增加2,但是当下一行更改为“ L2_ *”时,则应仅增加1。
ID和NUMBER的第1行值可以是静态的,从第2行开始,应使用某种公式进行计算。
在Excel中是否可能出现这种情况,如果可以,请帮忙。
CSV导出:
link:
https://pastebin.com/zkjsB9L7
答案 0 :(得分:1)
单元格F1
和G1
中的起始ID和NUMBER将是静态的,在单元格F2
中输入以下公式并将其向下拖动:
=F1+(MOD(ROW(1:1),24)=0)
逻辑是使用 ROW 函数返回上一行的行号,并使用 MOD 函数来确定其是否可以被{{1}整除},如果是这样,则将以前的ID增加1(括号中的公式返回的
24
)。
在单元格TRUE
中输入以下公式并将其向下拖动:
G2
逻辑是使用嵌套的 IF 函数来查找数据集是否与先前的数据集相同,如果是,则返回
=G1+IF(C2=C1,0,IF(FIND("_",C1)=3,2,1))
,如果不是,则表示存在更改数据集。下一个IF将找出旧数据集是以0
还是LR
开始,如果旧数据集返回emr
,否则返回1
。
我注意到您从第49行开始的示例是不按照规定增加2
中的值。请问您是否为这些行提供了不正确的预期结果,或者您有没有在帖子中没有提及的缺失标准?