我正试图在excel中建立一些东西来帮助我今年的杂货店购物。
我正在使用一些其他的宏来填充购物清单从食谱我发现在线。
在这个购物清单表中,我想尝试找出如何编写一个宏来比较A列和C列的成分和度量值,如果列表中有重复项,则将各行的数量值一起添加到列表中。
下面是我在示例中尝试做的一个示例:
原始列表:
| 成分|数量|措施|
| - ------|- ------|- ------|
| 培根|1个||
| 大蒜|1个|汤匙|
| 罗勒|1个|汤匙|
| 黄油|1个|汤匙|
| 鸡|1个||
| 卡宴|1个|汤匙|
| 大蒜|1个|汤匙|
| 黄油|1个|汤匙|
我希望最后得到一个如下所示的列表:
| 成分|数量|措施|
| - ------|- ------|- ------|
| 培根|1个||
| 大蒜|三个|汤匙|
| 罗勒|1个|汤匙|
| 黄油|五个|汤匙|
| 鸡|1个||
| 卡宴|1个|汤匙|
我想出了一种方法来做到这一点与数据透视表,但我真的很挣扎,从哪里开始在VBA中。
2条答案
按热度按时间gev0vcfq1#
使用
SUMIF
公式可以很容易地做到这一点。在单元格
F5
(大蒜数量)中:5kgi1eie2#
如果使用helper列获取唯一标识符,则可以使用INDEX(MATCH())和SUMIF()生成该列表:
帮助器列:
=A2&C2
帮助器列的唯一列表:
=UNIQUE(FILTER(D2:D10000,D2:D10000<>""))
索引,匹配:
=INDEX($A:$A,MATCH($F$2#,$D:$D,0))
总和:
=SUMIF($D:$D,$F$2#,$B:$B)
结果: