具有AND条件和多个嵌套QUERY的嵌套IF语句

问题描述 投票:0回答:1

在我的Google表格的“流程验证”标签中,我有一个数据验证单元格,其中有多个选项可供选择。选择的选项会在“主提取”选项卡中触发QUERY

为了使其“万无一失”,我在“流程验证”选项卡中添加了几个列,其中包含用于标记流程每个阶段完成情况的复选框(例如,每周广告系列CSV导出 - 需要用户导出的阶段提交的报告为CSV)。如果前一阶段尚未完成(尚未检查框),则用户无法继续提取下一个文件。

我需要的是:

如果用户从数据验证中选择了“每周广告系列”,并且尚未填写源文件和每周广告系列字段,则会显示以下消息:

“请澄清”过程验证“标签中的”源文件“和”每周广告系列ID“字段是否已正确填写。

如果用户选择另一个报告 - 例如。 “更新潜在客户地址”,未完成“每周广告系列”报告的所有4个阶段(并非所有4个复选框都已选中(= TRUE)),以显示以下消息:

“请澄清'每周广告系列CSV导出','每周广告系列CSV导出保存','每周广告系列SF附加'和'每周广告系列成功错误道明上传'流程是否已完成。”

如果前一过程的所有阶段都已完成,则应触发所需的QUERY

我到现在所拥有的是:

=IF(IF(AND(fileToExtract = "Weekly Campaign",
           sourceFile <> "",
           weeklyCampaignID <> ""), 
        QUERY(QUERY({sourceFile_dataRange}, 
                    "SELECT Col" & MATCH("Lead ID",sourceFile_labelRange,FALSE)), 
                    "SELECT Col1, '" & weeklyCampaignID & "', 'Sent' 
                     WHERE Col1 IS NOT NULL 
                     LABEL '" & weeklyCampaignID & "' 'Campaign ID', 
                           'Sent'                     'Status'",1),
        "Please, clarify if the 'Source File' and 'Weekly Campaign ID' fields in the 'Process Validation' tab have been filled correctly."),

 IF(IF(AND(fileToExtract = "Update lead address", 
           weeklyCampaign_CSV_Export = TRUE,
           weeklyCampaign_CSV_Export_Save = TRUE,
           weeklyCampaign_SF_Append = TRUE,
           weeklyCampaign_Success_Error_TD_Upload = TRUE),
       QUERY(QUERY({sourceFile_dataRange},
                   "SELECT Col" & MATCH("Lead ID",         sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Street",          sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("City",            sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("State/Province",  sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Zip/Postal Code", sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Country (RB)",        sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Country",         sourceFile_labelRange,FALSE),1),
                   "SELECT Col1,
                           Col2,
                           Col3,
                           Col4,
                           Col5,
                           Col6,
                           Col7
                     WHERE Col1 IS NOT NULL", 1), 
       "Please, clarify if the 'Weekly Campaign CSV Export', 'Weekly Campaign CSV Export Save', 'Weekly Campaign SF Append' and 'Weekly Campaign Success Error TD Upload' processes have been completed.")))

上面的公式导致#VALUE!错误 - Function IF parameter 1 expects boolean values. But 'Please, clarify if the 'Source File' and 'Weekly Campaign ID' fields in the 'Process Validation' tab have been filled correctly.' is a text and cannot be coerced to a boolean.

当我试图单独运行它们时:

=IF(IF(AND(fileToExtract = "Weekly Campaign",
        sourceFile <> "",
        weeklyCampaignID <> ""), 
        QUERY(QUERY({sourceFile_dataRange}, 
                    "SELECT Col" & MATCH("Lead ID",sourceFile_labelRange,FALSE)), 
                    "SELECT Col1, '" & weeklyCampaignID & "', 'Sent' 
                     WHERE Col1 IS NOT NULL 
                     LABEL '" & weeklyCampaignID & "' 'Campaign ID', 
                           'Sent'                     'Status'",1),
        "Please, clarify if the 'Source File' and 'Weekly Campaign ID' fields in the 'Process Validation' tab have been filled correctly."),"Dull")

或者像这样:

=IF(IF(AND(fileToExtract = "Update lead address", 
       weeklyCampaign_CSV_Export = TRUE,
       weeklyCampaign_CSV_Export_Save = TRUE,
       weeklyCampaign_SF_Append = TRUE,
       weeklyCampaign_Success_Error_TD_Upload = TRUE),
       QUERY(QUERY({sourceFile_dataRange},
                   "SELECT Col" & MATCH("Lead ID",         sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Street",          sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("City",            sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("State/Province",  sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Zip/Postal Code", sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Country (RB)",          sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Country",         sourceFile_labelRange,FALSE),1),
                   "SELECT Col1,
                           Col2,
                           Col3,
                           Col4,
                           Col5,
                           Col6,
                           Col7
                     WHERE Col1 IS NOT NULL", 1), 
       "Please, clarify if the 'Weekly Campaign CSV Export', 'Weekly Campaign CSV Export Save', 'Weekly Campaign SF Append' and 'Weekly Campaign Success Error TD Upload' processes have been completed."),"EVEN DULLER")

我分别得到以下#VALUE!错误:

Error Function IF parameter 1 expects boolean values. But 'Please, clarify if the 'Source File' and 'Weekly Campaign ID' fields in the 'Process Validation' tab have been filled correctly.' is a text and cannot be coerced to a boolean.

和:

Error Function IF parameter 1 expects boolean values. But 'Please, clarify if the 'Weekly Campaign CSV Export', 'Weekly Campaign CSV Export Save', 'Weekly Campaign SF Append' and 'Weekly Campaign Success Error TD Upload' processes have been completed.' is a text and cannot be coerced to a boolean.

组合时实际上是相同的错误。

我怎么解决这个问题?

附:

如果您需要一些虚拟数据,请告诉我,但是,请记住,我有公司安全限制,禁止我与公司外的任何人共享任何表格。

google-sheets google-sheets-formula google-sheets-query nested-if
1个回答
1
投票

第一个IF的论点错位了。

代替:

=IF(IF(AND(fileToExtract = "Weekly Campaign",
        sourceFile <> "",
        weeklyCampaignID <> ""), 
        QUERY(QUERY({sourceFile_dataRange}, ect...

和:

 IF(IF(AND(fileToExtract = "Update lead address", 
           weeklyCampaign_CSV_Export = TRUE,
           weeklyCampaign_CSV_Export_Save = TRUE,
           weeklyCampaign_SF_Append = TRUE,
           weeklyCampaign_Success_Error_TD_Upload = TRUE),
       QUERY(QUERY({sourceFile_dataRange}, ect...

应该是:

=IF(fileToExtract = "Weekly Campaign",
    IF(AND(sourceFile <> "",
           weeklyCampaignID <> ""), 
        QUERY(QUERY({sourceFile_dataRange}, ect...

和:

 IF(fileToExtract = "Update lead address",
    IF(AND(weeklyCampaign_CSV_Export = TRUE,
           weeklyCampaign_CSV_Export_Save = TRUE,
           weeklyCampaign_SF_Append = TRUE,
           weeklyCampaign_Success_Error_TD_Upload = TRUE),
       QUERY(QUERY({sourceFile_dataRange}, ect...

整个QUERY看起来像这样:

=IF(fileToExtract = "Weekly Campaign",
    IF(AND(sourceFile <> "",
           weeklyCampaignID <> ""), 
        QUERY(QUERY({sourceFile_dataRange}, 
                    "SELECT Col" & MATCH("Lead ID",sourceFile_labelRange,FALSE)), 
                    "SELECT Col1, '" & weeklyCampaignID & "', 'Sent' 
                     WHERE Col1 IS NOT NULL 
                     LABEL '" & weeklyCampaignID & "' 'Campaign ID', 
                           'Sent'                     'Status'",1),
        "Please, clarify if the 'Source File' and 'Weekly Campaign ID' fields in the 'Process Validation' tab have been filled correctly."),

 IF(fileToExtract = "Update lead address",
    IF(AND(weeklyCampaign_CSV_Export = TRUE,
           weeklyCampaign_CSV_Export_Save = TRUE,
           weeklyCampaign_SF_Append = TRUE,
           weeklyCampaign_Success_Error_TD_Upload = TRUE),
       QUERY(QUERY({sourceFile_dataRange},
                   "SELECT Col" & MATCH("Lead ID",         sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Street",          sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("City",            sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("State/Province",  sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Zip/Postal Code", sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Country (RB)",        sourceFile_labelRange,FALSE) & ",
                           Col" & MATCH("Country",         sourceFile_labelRange,FALSE),1),
                   "SELECT Col1,
                           Col2,
                           Col3,
                           Col4,
                           Col5,
                           Col6,
                           Col7
                     WHERE Col1 IS NOT NULL", 1), 
       "Please, clarify if the 'Weekly Campaign CSV Export', 'Weekly Campaign CSV Export Save', 'Weekly Campaign SF Append' and 'Weekly Campaign Success Error TD Upload' processes have been completed.")))
© www.soinside.com 2019 - 2024. All rights reserved.