Answers:
您要使用的功能是数据透视表。学习如何使用该功能后,只需单击几下即可完全按照您的意愿进行操作。
您也可以使用小计功能执行此操作。
例如...
每次更改时: 类别
使用功能: 总和
小计: 售货成本
我假设您正在寻找一个像杂货店这样的帐户的总COGS,例如,第1周。
sumif
是得出该数据的最简单方法。图片示例:
=sumif(d2:d?,"grocery",j2:j?)
由于我看不到整张纸,因此我放置了问号。您将选择具有帐户数据的整个D列。D2至D ?,与每周使用情况列J2至J?相同。
该公式将在文本杂货的D列中查找,如果存在,它将在J列中添加与其中包含单词杂货的D列相对应的单元格。(或您在公式中查找的任何文本)
最简单的方法可能是Excel排序操作,然后是Excel小计操作。
它可以产生您想要的内容,而无需像Pivot操作那样更改数据的整体布局。
排序
小计
在每次更改时 类别(单击下拉箭头并选择此项) 使用功能 总和(单击下拉箭头并选择此项) 将小计添加到 良好销售成本(为各个类别选择要总计的列)Click OK!
我一直在用vba这样做。我很确定我从Office 95'开始就使用了相同的方法,但对列的放置做了一些小的更改。如果不定义变量,则可以用更少的行来完成。如果您需要进行很多工作,或者需要使用更多内容来定义组,则可以更快地完成。
我遇到了一个“组”基于2-5个单元的情况。这个例子只看一列,但是如果有人花时间玩它,可以很容易地扩展它。
假设有3列,则必须按group_values列进行排序。在运行宏之前,请在group_values列中选择要比较的第一个单元格。
'group_values,some_number,empty_columnToHoldSubtotals '(东西在这里) 'cookie 1空 Cookie 3空 '蛋糕4空 '帽子0空 '帽子3空 '... '停
小计() '定义两个字符串和一个小计计数器 调暗thisOne,thatOne As String Dim subCount为Double 播种价值 thisOne = ActiveCell.Value thatOne = ActiveCell.Offset(1、0) subCount = 0 '设置一个循环,直到达到停止值为止 While(ActiveCell.Value <>“停止”) '将单元格值与其下方的单元格进行比较。 如果(thisOne = thatOne)然后 '如果单元格相等,则将行数添加到子计数 subCount = subCount + ActiveCell.Offset(0,1).Value 其他 '如果单元格不相等,则写入子计数,并重置小计。 ActiveCell.Offset(0,2).Value = ActiveCell.Offset(0,1).Value + subCount subCount = 0 万一 '选择下一个单元格 ActiveCell.Offset(1,0)。选择 '将活动单元格及其下一个单元格的值分配给变量 thisOne = ActiveCell.Value thatOne = ActiveCell.Offset(1、0) 温德 结束子