【问题标题】:Need help using nested or multiple ARRAYFORMULA's in google sheet dashboard需要帮助在谷歌工作表仪表板中使用嵌套或多个 ARRAYFORMULA
【发布时间】:2019-08-10 07:29:50
【问题描述】:

我有一个仪表板,我在这里输入链接描述,试图根据每月的账单查找客户。该公式需要两个标准来查找客户和他们拥有的帐户类型。一些客户有多个帐户,因此这两个条件查找是必要的。我可以在不使用此行引用月份的情况下使公式起作用:

=ARRAYFORMULA(iferror(vlookup($A8&$B8, {'Run Rate'!$B$2:$B&'Run Rate'!$C$2:$C,'Run Rate'!$D$2:$I}, 6, 0),""))

但是当我尝试添加引用月份选项卡时它不起作用:

=IF($A$2 = "January 2019",ARRAYFORMULA(iferror(vlookup($A6&$B6, {'Run Rate01'!$B$2:$B&'Run Rate01'!$C$2:$C,'Run Rate01'!$D$2:$I}, 6, 0),
IF($A$2 = "February 2019",ARRAYFORMULA(iferror(vlookup($A6&$B6, {'Run Rate02'!$B$2:$B&'Run Rate02'!$C$2:$C,'Run Rate02'!$D$2:$I}, 6, 0),
IF($A$2 = "March 2019",ARRAYFORMULA(iferror(vlookup($A6&$B6, {'Run Rate03'!$B$2:$B&'Run Rate03'!$C$2:$C,'Run Rate03'!$D$2:$I}, 6, 0),"")))))))))

Here is the sample Dashboard

如果您有其他方法,我也希望得到一些建议。任何帮助都会有所帮助。

【问题讨论】:

  • 请解释一下为什么有A2的参考相关?它不会影响任何事情,而且毫无意义。这没有任何意义。你到底在追求什么?
  • 另外,您希望将其按开始日期列或结束日期列修剪?
  • ARRAYFORMULA 不是循环。一般来说,嵌套的 ARRAYFORMULAS 不起作用。最外面的将提供数组上下文,而内部的则没有效果。要拥有 2 个条件的 VLOOKUP,最常见的解决方案是将 2 个条件组合成一个值的列。
  • @player0 我创建这个是为了混淆我公司的客户名单。它实际上只是所有数据的一个样本。开始日期和结束日期只是告诉我们每个客户根据他们的合同有多少计费小时。每个月都会添加新客户,而其他客户也会流失,即使他们不在我的样本表中。运行速率选项卡每月更新一次。计费标签每天更新。我们正在尝试为每个客户捕获所有客户的计费时间。通过更改月份,我们可以了解每位客户经理的账单处理情况。

标签: google-sheets excel-formula google-sheets-formula


【解决方案1】:

我用这个公式得到了我需要的结果:

=ArrayFormula(IFERROR(IF($A$2 = "2019 年 1 月",vlookup($A6&$B6, {'Run Rate01'!$B$2:$B&'Run Rate01'!$C$2:$C, 'Run Rate01'!$D$2:$I}, 6, 0), IF($A$2 = "February 2019",vlookup($A6&$B6, {'Run Rate02'!$B$2:$B&'Run Rate02'!$C$2:$C,'Run Rate02'!$D$2:$I}, 6, 0), IF($A$2 = "2019 年 3 月",vlookup($A6&$B6, {'Run Rate03 '!$B$2:$B&'Run Rate03'!$C$2:$C,'Run Rate03'!$D$2:$I}, 6, 0),"")))))

【讨论】:

    【解决方案2】:

    粘贴到C6中,拖到D6上再往下拖:

    =ARRAYFORMULA(IFERROR(VLOOKUP($A6&$B6, 
     QUERY({'Run Rate02'!$B$2:$B&'Run Rate02'!$C$2:$C, 'Run Rate02'!$D$2:$I},
     "where Col4>=date'"&
     TEXT(DATE(RIGHT($A$2, 4), MONTH(SPLIT($A$2, " ")&1),   1), "yyyy-mm-dd")&"'
        and Col4< date'"&
     TEXT(DATE(RIGHT($A$2, 4), MONTH(SPLIT($A$2, " ")&1)+1, 1), "yyyy-mm-dd")&"'"),
     COLUMN()+3, 0)))
    

    【讨论】:

    • 这个查询实际上帮助我解决了同一个仪表板上的另一个问题。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-04-06
    • 1970-01-01
    • 2020-01-10
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    相关资源
    最近更新 更多