Excel怎么根据其中两列的内容自动匹配后面的值?具体如图

如图所示,左侧是一个总表,内容很多,第一列是姓名,第二列是性别,后面几列都是数据。姓名和性别都有很多种,现在就是想把总表的数据根据性别分到另外三个表里,并合计姓名一样的数... 如图所示,左侧是一个总表,内容很多,第一列是姓名,第二列是性别,后面几列都是数据。姓名和性别都有很多种,现在就是想把总表的数据根据性别分到另外三个表里,并合计姓名一样的数据,除了数据透析表还有分类汇总这些弄完还需要筛选外,能不能有别的公式能一步到位的?vlookup可以同时查找姓名和性别两列吗?还是有别的法子?在线等!
补充列号
展开
 我来答
E侠兔7502
2016-11-11 · TA获得超过3154个赞
知道大有可为答主
回答量:3205
采纳率:53%
帮助的人:2190万
展开全部

是不是想按性别分别生成工作表?如果是这样并需要经常操作,最好用VBA。自己收藏的一个,与你共享:

Sub 自动分表()

Dim E As Integer

Dim RanB As Range

Dim RanA As Range

Dim Y As Integer

Dim X As String

Dim ARR() As String

Dim P As Integer

Dim ICol

ICol = Application.InputBox("请输入你所要分的列1-11列:" & Chr(10) & "(如按B列分请输入2)", "提示:", "4", Type:=1)

If ICol = "" Then Exit Sub



Application.ScreenUpdating = False



   For Each RanB In Sheet1.Range(Cells(2, ICol), Cells(Sheet1.Range("d65536").End(xlUp).Row, ICol))

      If RanB <> "" Then

            If InStr(X, Sheet1.Cells(RanB.Row, ICol)) = 0 Then

                    If X = "" Then

                       X = RanB

                      Else

                       X = X & "," & RanB

                    End If

                      E = Application.CountIf(Sheet1.Columns(ICol), RanB)

                      ReDim ARR(1 To E + 1, 1 To 11)

                     

                    Set RanA = Sheet1.Cells(1, ICol)

                            For Y = 1 To E

                               Set RanA = Sheet1.Columns(ICol).Find(RanB, RanA, , , xlByColumns, , , False)

                               For P = 1 To 11

                                    If Y = 1 Then

                                        ARR(Y, P) = Sheet1.Cells(1, P)

                                        ARR(Y + 1, P) = Sheet1.Cells(RanA.Row, P)

                                    Else

                                        ARR(Y + 1, P) = Sheet1.Cells(RanA.Row, P)

                                    End If

                                        

                               Next P

                               

                            Next Y

                   '上面部为:按条件生成多个分表,用数组方式,查找方式,循环

            '*********************************************************************

               '这一部分为加网线

               Sheets.Add.Name = RanB '新建工作表,重命名

                 With ActiveSheet

                      .Range("A3").Resize(Y, 11) = ARR '粘贴数据

                      .Rows("2:2").RowHeight = 6 '2行缩少高度

                      .Range("A3:K" & E + 3).Borders.LineStyle = 1 '全部加网格线

                      .Range("A1") = Sheet1.Cells(1, ICol) & RanB & "号成绩表" '表头名

                      .Range("A1:K1").Select '全选A1:K1

                    With Selection

                        .MergeCells = True '合并A1:K1

                        .HorizontalAlignment = xlCenter '居中A1:K1

                        .Font.Size = 22 '字体设为22号

                    End With

                  End With

                Sheet1.Select

              End If

    End If

Next



   

  

    Sheets("总表").Select


Application.ScreenUpdating = True

MsgBox "已经按 " & Sheet1.Cells(1, ICol) & " 生成分表:" & Chr(10) & X, 48, "提示"

Exit Sub

100:

MsgBox "运行出错", 48, "出错"

End Sub

柔软的Bp
科技发烧友

2016-11-11 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:3万
采纳率:66%
帮助的人:9017万
展开全部
vlookup的多条件查找,没有实际行列号不好写的
或发样表+说明
mrpinetree@qq.com
更多追问追答
追问
已发
追答
收邮件
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式