Answers:
如果您对用户定义的函数开放,请尝试我的方法:
假设你的价值观在 B2:B4
范围,您需要计算来自的货币总和 B2
,你可以使用数组公式:
=SUMPRODUCT(IF(GetFormat(B2:B4)=GetFormat(B2),1,0),B2:B4)
注意,它是一个数组公式,所以你需要按 CTRL + 转移 + 输入
但是,在将用户定义的函数添加到工作簿以获取范围数字格式数组之前:
Function GetFormat(r As Range)
Dim arr() As String
ReDim arr(1 To r.Cells.Count)
i = 1
For Each c In r
arr(i) = c.NumberFormat
i = i + 1
Next c
GetFormat = WorksheetFunction.Transpose(arr)
End Function
有两种方法可以做到。我建议你将货币符号和数字分开,例如,100英镑在单元格中写为100,在相邻单元格中写为£。然后你可能低于它50e(欧元)写为50和e和开。
第一种方法涉及使用数据透视表 - 非常简单。
但更简单,更优选的方法如下
在d2到d19的范围内,我们有数量(只是数字),在c2到c19的范围内我们有e或£或$等符号
在一个单独的单元格中,我想显示e的总和,我输入:
= SUMIF(D2:D19, “E”,C2:C19)
在它旁边我想总结£,所以我输入:
= SUMIF(D2:D19, “£”,C2:C19)
它就像一场梦。