我得到了一套包含航空公司优惠券税数据的数据,我不得不将可兑换税从YQ中分离出来,并将其转换成欧元和美元。经过1100行的VBA完成报告的要求,我必须作出的总和,我完成了。
基本上,税收数据反映了你在截图@ http://i.imgur.com/qnOWg.jpg中看到的内容,但规模要大得多。我需要把每一个可能的税号从数据中取出来,然后算出总数,这就是我陷入困境的地方。如果数据是按税号顺序排列的,按税号计算的税号就不会有多大问题,但由于这是根本不需要的,而且在优惠券没有特定税种时会创建更多的列:
YQ BE IT HB EX MJ VT
YQ BE DE RA将成为:
YQ BE IT HB EX MJ VT
YQ BE DE RA首选第一种更紧凑的视图。
无论如何,我如何计算每种税的金额取决于货币?据我所知,这是一个基于两个条件的总和:对于范围内的任何单元格:
对A2:L12范围内的任何单元格的和进行处理,条件是:"A_CELL.OFFSET(0,-1) =税收代码和THAT_SAME_CELL.OFFSET(0,1) =货币“
有人能帮我做这件事吗?
提前谢谢你。干杯!
Update:用于获得所需结果的VBA函数:
Function SumOf(taxStr As String, curStr As String, wrkRange As Range) As Double
Dim taxSum As Double
Dim rngCell As Range
On Error GoTo SumOfError
taxSum = 0
'Set wrkRange = rangStr
For Each rngCell In wrkRange
If rngCell.Column > 1 And rngCell.Offset.Column < wrkRange.Columns.Count - 1 Then
If (rngCell.Offset(0, -1).Value = taxStr) And (rngCell.Offset(0, 1).Value = curStr) Then
taxSum = taxSum + Val(rngCell.Value)
End If
End If
Next rngCell
SumOf = taxSum
Exit FunctionSumOfError: SumOf =0端函数
发布于 2012-11-08 14:19:11
好吧,你的VBA能做到这一点。
然而,使用VBA总是一个很大的问题。下面是我使用公式的解决方案:
=SUMIFS(B$2:B$12,A$2:A$12,$A15,C$2:C$12,B$14)这是您的示例屏幕截图的单元格B15。你可以把它粘下来。
如果你想把它粘贴到右边,你需要稍微修改一下。
https://stackoverflow.com/questions/13289605
复制相似问题