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)
温德
结束子