我有一个电子表格,其中包含以下类型的数据
2182016 -现金收据- 3055 - 2182016
这种数据类型的列表将包含数百行数据,日期、事务描述和其他字段将根据交付多次重复显示。我需要对每一次发生的描述和零售费用进行汇总,然后将该行复制到一个新的工作表中,将其他列保持为一个单一记录,例如,如果上面的三行是整个工作表,我将需要输出到一个新的工作表上,如下所示:
2182016 %现金收据5564 2182016 %邮资RA 2116
此外,有时我需要和的字段中的数字在另一列中为1,这意味着需要减去而不是添加数据。
2182016 -现金收据
需要像这样输出
2182016 %现金收据\x 549 2182016
我有一张完整的描述列表,我需要在一个隐藏的表格中把总数加起来。
商店供应,商店设备,格罗克采购,生产普奇,肉馅,冷冻普奇,奶制品普奇,德利普氏,HBA普奇,烟草普氏,燃料,EPS费,Cpn脸,Cpn公司,培训,Val醋栗,回扣1,回扣2,回扣3,回扣4,回扣5,回扣6,WHSE销售,办公室供应,办公室设备,办公室培训,办公室租赁,便笺安装,说明信用,票据利息,VPN
发布于 2016-02-22 21:07:37
只需声明一个模块级别的用户定义类型,将运行的总计转储到其中,并编写一个代码循环,将“文本”列向下滚动,并将字符串与适当的情况匹配。
Type DescriptionTotals
Dim storeSupply As Double
Dim producePurch As Double
Dim anotherThing As Double
'... you get the picture here
End Type
sub getTotals()
dim matchString As String
'do something here to select a cell, and assign to "matchString"
cells(i,j).value = matchString
Select Case matchString
Case Is "CASH RECIEPT"
DescriptionTotals.cashReceipt = DescriptionTotals.cashReceipt + 'value in adjacent cell
Case is "NEXT COMPARISON STRING"
'add to the total in your type here.
Case Else
'handle string match errors here
End Sub发布于 2016-02-22 22:15:46
以下是我认为最简单的解决办法。将计算列添加到现有表中。此列应计算为
=IF(columnWithPrefix=1,-1,1)*columnWithTransactionCount)然后您可以选择整个表,然后单击菜单Insert,然后单击Pivot Table。之后,这仅仅是你根据个人喜好格式化桌子的问题。下面是一个基于示例数据的简单解决方案。

一些评论:
;,这里有潜在的,。https://stackoverflow.com/questions/35563387
复制相似问题