我有一个包含三列的文件。 ID为空白,名称有一些名称,PARENT_ID用于存储名称的父ID。
我想要做的是在列ID处获取父ID并添加一个两位数的数字,该数字将递增01.例如,我们有10只父ID为1的猫。我想在列ID中取得父母身份" 1"然后添加" 01"对于第一只猫," 02"对于第二只猫等等。因此,在列ID中,我将使用一个自动递增值101,102,... 110。 然后狗开始,所以它将采取父母的身份,即" 2"并再次开始foreach dog确实添加增量值201,202 ......等 然后鱼301,302
这是我想要做的一个例子。
ID NAME PARENT_ID
101 cat 1
102 cat1 1
103 cat2 1
104 cat3 1
105 cat4 1
106 cat5 1
107 cat6 1
108 cat7 1
109 cat8 1
110 cat9 1
111 cat10 1
201 dog 2
202 dog1 2
203 dog2 2
204 dog3 2
205 dog4 2
206 dog5 2
301 fish 3
302 fish 3
列名不受关注,我只是为了让您更好地了解它。
我不熟悉visual basic,我试图用公式来完成这个但没有运气。
感谢您的帮助。
答案 0 :(得分:3)
将以下公式粘贴在“A2”=C2&RIGHT("00"&COUNTIF($C$1:C2,C2),2)
并将公式拖到下方。如果您的数据包含10个以上的唯一记录,请将其设为=C2&RIGHT("00"&COUNTIF($C$1:C2,C2),3)
答案 1 :(得分:2)
答案 2 :(得分:0)
不是VBA方法,而是公式方法 - 如果这是你想要的东西:
Row A B C D E F
1 ID NAME PARENT_ID RunningName RunningID NewID
2 101 cat 1 cat 0 cat
3 102 cat1 1 cat 1 cat01
4 103 cat2 1 cat 2 cat02
5 104 cat3 1 cat 3 cat03
6 105 cat4 1 cat 4 cat04
7 106 cat5 1 cat 5 cat05
8 107 cat6 1 cat 6 cat06
9 108 cat7 1 cat 7 cat07
10 109 cat8 1 cat 8 cat08
11 110 cat9 1 cat 9 cat09
12 111 cat10 1 cat 10 cat10
13 201 dog 2 dog 0 dog
14 202 dog1 2 dog 1 dog01
15 203 dog2 2 dog 2 dog02
16 204 dog3 2 dog 3 dog03
17 205 dog4 2 dog 4 dog04
18 206 dog5 2 dog 5 dog05
19 301 fish 3 fish 0 fish
20 302 fish 3 fish 1 fish01
...然后我使用了以下公式:
D2: =if(a2="","",if(sum(C2)<>sum(C1),trim(B2),trim(D1)))
E2: =if(a2="","",if(sum(C2)<>sum(C1),0,sum(E1)+1))
F2: =if(a2="","",trim(D2)&if(sum(E2)=0,"",text(E2,"00")))
然后我将这些细胞复制到了我想要去的柱子上。您可以将“正在运行”列设置为非常浅灰色的文本颜色,以使其不会分散用户的注意力。
希望这有助于激发您制定适合您的解决方案。