【问题标题】:Increment column value when certain conditions are met in Excel在 Excel 中满足某些条件时增加列值
【发布时间】:2019-10-21 17:35:24
【问题描述】:

我正在尝试创建一个公式,该公式根据前一行增加 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

【问题讨论】:

  • 使用 ROW 和 MOD 获取 ID 号,每 24 行递增一次。

标签: excel function excel-formula


【解决方案1】:

单元格F1G1中的起始ID和NUMBER将是静态的,在单元格F2中输入以下公式并向下拖动:

=F1+(MOD(ROW(1:1),24)=0)

逻辑是使用ROW函数返回上一行的行号,并使用MOD函数判断是否可以被24整除,如果是这样,则将先前的 ID 增加 1(即括号中的等式返回的 TRUE)。

在单元格G2中输入以下公式并向下拖动:

=G1+IF(C2=C1,0,IF(FIND("_",C1)=3,2,1))

逻辑是使用嵌套的IF函数来判断数据集是否与之前的数据集相同,如果是则返回0,如果不是则表示数据有变化放。下一个IF会判断旧数据集是LR还是emr开头,如果前者返回1,否则返回2

我注意到您的示例从 第 49 行 开始没有按照规定增加 Column G: NUMBER 中的值。您能否澄清一下您是否为这些行提供了不正确的预期结果,或者是否存在您在帖子中未提及的任何缺失标准?

【讨论】:

  • 谢谢@Terry,这太完美了,两个公式都完成了工作。也是的,你是对的,G 行是我的错误,我忘了增加值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 2020-02-02
  • 2018-12-21
  • 2013-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多