在Excel中满足某些条件时增加列值

时间:2019-10-21 17:35:24

标签: excel function excel-formula

我正在尝试创建一个公式,该公式在上一行的基础上增加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

enter image description here

1 个答案:

答案 0 :(得分:1)

单元格F1G1中的起始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中的值。请问您是否为这些行提供了不正确的预期结果,或者您有没有在帖子中没有提及的缺失标准?