根据 R 列的值对 A 列进行编号的宏

根据 R 列的值对 A 列进行编号的宏

我正在寻找一个宏,它将根据 R 列中的值自动按顺序 (1,2,3...) 对 A 列进行编号。编号从第 6 行开始。

例如,如果 R6 说“是”,我希望 A6 说“1”。如果 R7 说“是”,我希望 A7 说“2”,但如果 R​​7 说“否”,我希望 A7 为空白,然后如果 R8 说“是”,A8 为“2”。

如果这没有意义,请告诉我...我可以发送截图。

答案1

我刚刚看到一个解决类似问题的简洁而简单的解决方案:

此公式

 =IF(R6="Yes",MAX($A$5:A6)+1,"")

在 A6 中并向下填充,得到所需结果:

在此处输入图片描述

感谢@EricF 提供的示例。

答案2

您会满足于一两个公式吗?

首先,该COUNTIF(range, condition)函数几乎完全符合您的要求:计算满足给定条件的单元格数量。在本例中,您的条件是“包含字符串Yes”。但是,如果我们只使用此公式,当单元格显示“否”时,您将得到一堆重复的值,因此我们必须进行一些额外的检查。

在单元格 A6 中,输入公式,
=IF(COUNTIF($R$6:R6,"Yes")=0,"",COUNTIF($R$6:R6,"Yes"))
这为其余值建立了基点。

在单元格 A7 中,输入公式=IF(COUNTIF($R$6:R7,"Yes")=COUNTIF($R$6:R6,"Yes"),"",COUNTIF($R$6:R7,"Yes"))
:如果到当前单元格的计数与前一个单元格的计数相同,则将此单元格留空;否则显示计数值。

然后将单元格 A7 向下复制以获取其余范围。

相关内容