Google sheets 通过导入链接的2个Google Sheets工作簿-如何在一个工作簿中添加新行而不影响其他工作簿

Google sheets 通过导入链接的2个Google Sheets工作簿-如何在一个工作簿中添加新行而不影响其他工作簿,google-sheets,Google Sheets,我有两本谷歌工作簿。一个是费率表,另一个是带有定价的供应商列表 我通过importrage命令将带有定价工作簿的供应商列表链接到费率表工作簿。这非常有效,在您向费率表工作簿添加新行或删除行之前,所有内容都会按原样更新。此时,供应商工作簿不会更新引用,只是指向与原来相同的行,现在显示的数据不正确 如何动态地让供应商列表工作簿注意到费率表工作簿中行的添加或删除,并更新导入公式 这能做到吗 非常感谢您的帮助 编辑:我已经准备了两本样本工作簿。它们是测试表1-速率和测试表2车道 我把我们所有的价格都写在

我有两本谷歌工作簿。一个是费率表,另一个是带有定价的供应商列表

我通过importrage命令将带有定价工作簿的供应商列表链接到费率表工作簿。这非常有效,在您向费率表工作簿添加新行或删除行之前,所有内容都会按原样更新。此时,供应商工作簿不会更新引用,只是指向与原来相同的行,现在显示的数据不正确

如何动态地让供应商列表工作簿注意到费率表工作簿中行的添加或删除,并更新导入公式

这能做到吗

非常感谢您的帮助

编辑:我已经准备了两本样本工作簿。它们是测试表1-速率和测试表2车道

我把我们所有的价格都写在第一页。在第二种情况下,我们将有供应商通道。此工作表由多个选项卡组成,所有选项卡都有一个单独的车道,该车道链接到费率工作表中的一行

在lanes表中,我通过单元格A8中的importrange将两者链接在一起。现在,这将正常工作并链接,直到在“费率表”中车道链接的上方插入新行,然后它不会更新,但会显示新行信息

在费率表中插入新行时,是否有办法使车道表动态更新到下一行

两页链接如下:


更多信息会有所帮助

有两个想法:

  • 使用命名范围而不是静态引用。例如,如果在费率表中创建一个名为MY_DATA的命名范围,该范围引用A2!C600,您可以将“我的数据”包含在供应商表中的导入中。请注意,每次添加行时仍然需要更新MY_数据
  • 如果您正在导入整个表,可能省略末尾行(例如,A2!C而不是A2!C600)-请注意,这意味着您需要在供应商表中使用筛选器或查询来消除空白行。
  • 解决方案1-如果只需要检查一个条件 为了达到预期的效果,你必须为每一个速率设置一个ID。为了得到这个答案(基于你的示例表),我假设这可能是一个起源城市。在测试表2中,我添加了新表-SheetTest,其中:

    第一步

    我正在寻找desire City位于费率表中的行号(例如,它的Mcclellan City)。代码很简单:

    MATCH(A2,IMPORTRANGE("https://docs.google.com/spreadsheets/d/1JD45y-0-37Kh2KsHnRAMuB0quPtMVuLKuT1qjnNcm1Q/edit","Rates!B:B"),0).
    
    这给了我->10

    第二步

    我使用此结果动态生成最终范围-“Rates!A10:X10”。A8单元格中的最终结果是(为了更清楚,我将工作表的地址更改为-othersheeturl-:

    =IMPORTRANGE(
      "-othersheeturl-",
      "Rates!A"&
          MATCH(A2,IMPORTRANGE(-othersheeturl-","Rates!B:B"),0)
          &":X"&
          MATCH(A2,IMPORTRANGE("-othersheeturl-","Rates!B:B"),0)
    )
    

    警告

    我看到在您的原始表中,您使用了费率表中的“take”Origin City,因此我删除了A2中的依赖项,使其成为ID。我希望这能解决您的问题

    解决方案2-如果需要检查多个条件 方法是一样的,但工具是不同的。主要目标是找到一个符合条件的行号——“从城市”和“到城市”。然后这个行号将用于连接欲望范围

    第一步-一些清洁 为了更好地管理复杂的公式,最好将它们分成更小的部分,就像在“普通”编程中一样。因此,我们有:

    来自城市A5

    New Albany
    
    Calgary
    
    到城市B5

    New Albany
    
    Calgary
    
    费率表(外部表)B1中的url

    1JD45y-0-37Kh2KsHnRAMuB0quPtMVuLKuT1qjnNcm1Q
    
    你不必把整个网址,只有这一部分是必要的

    计算我们在B2中查找的行数的公式

    =QUERY(
    {IMPORTRANGE(B1,"A1:B"),
    ArrayFormula(row(INDIRECT("A1:A"&ROWS(IMPORTRANGE(B1,"A1:B")))))},
    "select Col3 where Col1='"&B5&"' and Col2='"&A5&"'
    limit 1")
    
    上述代码:

  • 从速率表(外部)-列A1:B和表示行数的虚拟索引构建一个数组
  • 然后,只显示第nr3列(索引),其中Col1匹配我们的“To City”,Col2匹配“From City”
  • 最后是对一个结果的限制(如果超过一马赫)
  • 欲望范围B3

    ="Rates!A"&B2&":X"&B2
    
    呈现A11中外部工作表中所需数据的最终公式

    =IMPORTRANGE(B1,B3)
    

    最后的想法
  • 您可以隐藏第1-3行,也可以将以上所有公式打包为一个。这取决于您。我更喜欢第一种方法
  • 这个解决方案给你自由,你想要多少条件就有多少条件

  • 你能提供一些与你每天使用的相同结构的样本数据吗?那么回答你的问题就容易多了。我们已经编辑了更多信息。刚刚测试过,效果很好。但是在测试示例中,我只显示了一个目的地城市。在现实世界的工作手册中,有多个来源地和目的地城市。通过你的考试ple我看到它在orig city工作,但它是否可以扩展为进行双重匹配?如果不查看数据,很难确定是否可以,但我认为可以。请自己尝试并让我知道-如果您发现问题,我将尝试帮助您。您可能需要一些其他功能,如and、筛选器或查询来检查多个条件。我做了一些searching并在使用多个条件时找到了索引选项。现在,这一切在联机示例中似乎都很简单,直到我尝试了解如何从另一个工作簿中提取该数据。如果您有时间,我尝试将此设置为双重匹配条件,这是在lanes工作表上名为INDEX TEST的新选项卡中。不确定这离步入正轨有多近。我在费率表中加入了一个更真实的场景,其中原始城市是麦克莱伦,有多个目的地城市,我需要匹配组织和目的地,然后绘制这一行数据。@BobFranz-我编辑了我的答案。现在我希望它能完全满足您的需要。非常感谢。谢谢