【问题标题】:Get row from different sheets based on a string根据字符串从不同的工作表中获取行
【发布时间】:2020-03-12 11:09:29
【问题描述】:

我有多张工作表,用于跟踪每个人的抽奖券数量。

主表:

|-----------|------------------|
|    Name   |     # of tickets |
|-----------|------------------|
|   Adam    |         5        |
|-----------|------------------|
|   Michael |         2        |
|-----------|------------------|
|   Sara    |         4        |
|-----------|------------------|

表 1:

|-----------|------------------|---------------|
|    Name   |     Activity     | # of tickets  |
|-----------|------------------|---------------|
|   Adam    |  Registration    |        2      |
|-----------|------------------|---------------|
|   Michael |  Registration    |        2      |
|-----------|------------------|---------------|
|   Sara    |  Registration    |        2      |
|-----------|------------------|---------------|

表 2:

|-----------|------------------|---------------|
|    Name   |     Activity     | # of tickets  |
|-----------|------------------|---------------|
|   Adam    |  Registration    |        2      |
|-----------|------------------|---------------|
|   Sara    |  Registration    |        2      |
|-----------|------------------|---------------|
|   Adam    |  Extra ticket    |        1      |
|-----------|------------------|---------------|

问题: 如何使主工作表根据工作表 1、工作表 2...工作表 n 自动更新? 所以基本上主工作表应该根据“名称”列抓取每个工作表的行,然后获取票数的值并将其汇总到主工作表中。

【问题讨论】:

标签: google-sheets google-sheets-formula google-sheets-api google-sheets-query


【解决方案1】:

这样回复你的数据:主表和2张数据:

在我的 MainSheet 中,B1 中使用的公式是:

=SUMIF(Sheet1!$A$1:$A$3;A1;Sheet1!$C$1:$C$3)+SUMIF(Sheet2!$A$1:$A$3;A1;Sheet2!$C$1:$C$3)

您需要为要添加的每张工作表提供一个 SUMIF。

Function SUMIF

【讨论】:

    【解决方案2】:

    创建代码块宏vba

    Sub GetInfoSheet()
    
        Dim WS_Count As Integer
        Dim I As Integer                             
        Dim SumAdam As Integer
        Dim SumMichel As Integer
        Dim SumSara As Integer
    
        WS_Count = ActiveWorkbook.Worksheets.Count
    
        For I = 2 To WS_Count
            strTest = ActiveWorkbook.Worksheets(I).Cells(3, 3)
            SumAdam = SumAdam + CInt(strTest)
            strTest = ActiveWorkbook.Worksheets(I).Cells(4, 3)
            SumMichel = SumMichel + CInt(strTest)
            strTest = ActiveWorkbook.Worksheets(I).Cells(5, 3)
            SumSara = SumSara + CInt(strTest)
    
        Next I
    
        With ActiveWorkbook.Worksheets(1)
            .Cells(3, 3).Value = SumAdam
            .Cells(4, 3).Value = SumMichel
            .Cells(5, 3).Value = SumSara
    
        End With
    End Sub
    

    【讨论】:

    • 欢迎来到 SO。您的答案是 VBA 和 OP 将问题标记为 Google 表格,而不是 Excel,所以这不起作用。
    猜你喜欢
    • 2022-12-04
    • 1970-01-01
    • 2020-10-15
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多