|
本帖最后由 魔戒的大叔 于 2018-7-8 22:32 编辑
以下是问题的样例,第一列的id通过“|”符号分割,第二列的数据与第一列位置对应。例如我想得到的结果是,对应第一列id是4(也可以是其他id)的第二列数据的和,如果存在第一列“4|5|12”、第二列同行“35|2|1”这种情况,则取第二列中对应位置的35加入求和中。
我知道sumif,也明白通过分列+sumif可以达到上述目的,但因为工作中会遇到多张类型的数据表,这种操作方式重复的步骤太多所有显得有些蠢,想通过vba写一个类似sumif的自定义公式一劳永逸的解决掉(是的,在下超级懒)。
自己想的代码比较粗糙,就是遍历所有数据,如果第一列中存在“|”符号,再单独拆开并记录位置,到第二列中对应位置的数据累计起来
不知道有没有比较机智的思路,各位前辈如果也懒的话……给个方向也行。
数据类型id | 具体数值 | 1 | 101 | 1 | 102 | 2 | 103 | 2 | 104 | 2 | 105 | 3 | 106 | 3 | 107 | 4|5 | 108|22 | 4|5 | 109|22 | 4|5 | 110|22 | 4|5 | 111|22 | 4|5 | 112|22 | 4|5 | 113|22 | 6|4|12 | 114|22|205 | 6|4|12 | 115|22|205 | 6|4|12 | 116|22|205 | 6|4|12 | 117|22|205 | 6|4|12 | 118|22|205 | 4 | 119 | 4 | 120 | 5 | 121 |
|
|