波多野家庭教师迅雷:excel 函数嵌套的问题(统计国美2月份广州的销量)

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 22:53:28
A B C D
1 商家 销量 月份 地区
2 国美 3 2 广州
3 苏宁 3 2 广州
4 国美 2 2 广州
5 国美 3 4 北京
5 国美 3 2 上海

统计国美2月份广州的销量
用一个公式可以吗? 得出的结果在另一个工作表里的括号里边体现

A B
1 商家 二月份广州销量
2 国美 (= 公式?)

请哪位大虾不吝赐教 谢谢了
第一列 和下面的不对齐了 提问的时候还对齐的

如果行数不固定的话,就用宏吧,写脚本来循环实现。

如:在Sheel1里创建一个函数
Public Function getTotle() As Double
Dim i As Long
Dim lngCount As Long
Dim oSheet As Worksheet
Dim oRange As Range
Dim dblTotle As Double

Set oSheet = Sheets(1)
lngCount = oSheet.UsedRange.Cells.Rows.Count

For i = 2 To lngCount
Set oRange = oSheet.Range("A" & i)

If oRange.Text = "国美" Then
If Range("C" & i).Value = 2 And Range("D" & i).Value = "广州" Then
dblTotle = dblTotle + Range("B" & i).Value
End If
End If
Next

getTotle = dblTotle

Set oRange = Nothing
Set oSheet = Nothing
End Function

然后在Sheel2里调用:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").Value = Sheet1.getTotle
End Sub

在Sheel1里增加一列Z, 输入=A2&D2&C2
然后向下复制此公式,(如果需要可以将列宽变成0以隐藏此列)
然后你需要的公式就是
=SUMIF(E2:E6,"=国美广州2",B2:B6)

这2个公式不能直接嵌套.

=SUM(IF((B2:B6="国美")*(D2:D6=2)*(E2:E6="广州"),C2:C6,0))
就是这个,按照你的格式,测试通过,为5,如果范围有变化,只要自行更改就行了

{=SUM(IF(B2:B6="国美",IF(D2:D6=2,IF(E2:E6="广州",C2:C6,0),0)))}