如果列已包含某个值,则自动递增

时间:2018-11-09 17:30:44

标签: excel vba

我对如何最好地在Excel中完成自动递增有疑问。

在我的工作表中,我有两个列-列A(这是我的ID)和列E(这是我的工作流)(B-D列被隐藏以便于阅读)。 “工作流”列是一个下拉列表,包含多个值。

ID and Workstream

当前,我的ID列(列A)基于以下公式: (我的数据从第17行开始)

= IF(E17 =“”,“”,E17&“ -000-”&TEXT(ROW()-16,“ 000”))

在这里,这对我来说很棘手。我会尽力解释。

我想做的就是根据A列中是否存在值来更改公式(或使用VBA?)以自动递增。

如果第17列中的A列已包含WM-000-001,并且用户从E列的下拉菜单中选择WM选项,则在第19行中,A列将自动填充WM-000-002 19。

我也一直在尝试使用Worksheet_Change(按目标范围的ByVal目标)在VBA中完成相同的操作,但是由于不确定如何正确编写公式,因此仍然遇到障碍。

如果有一种简便的方法可以完成此任务,或者有人可以向正确的方向推动我,将不胜感激!

1 个答案:

答案 0 :(得分:1)

使用COUNTIF()进行编号:

=IF(E17="","",E17 & "-000-"& TEXT(COUNTIF($A$1:A16,E17&"-*")+1,"000"))

enter image description here