Вложенные операторы IF с условием AND и несколькими вложенными запросами QUERY - PullRequest
0 голосов
/ 05 марта 2019

На вкладке «Проверка процесса» в Google Sheet у меня есть ячейка «Проверка данных» с несколькими вариантами выбора.Выбранный параметр вызывает QUERY на вкладке «Мастер извлечения».

Чтобы сделать его «надежным», я добавил несколько столбцов на вкладке «Проверка процесса» с флажками, чтобы отметить завершениекаждого этапа процесса (например, еженедельный экспорт CSV-кампании - этап, на котором пользователь должен экспортировать отчет, упоминаемый как CSV).Если предыдущий этап не был завершен (флажки не были отмечены), пользователь не может приступить к извлечению следующего файла.

Что мне нужно:

Если пользователь выбрал "Еженедельная кампания »из поля« Проверка данных »и поля исходного файла и« Еженедельная кампания »не были заполнены, чтобы отображалось следующее сообщение:

« Пожалуйста, уточните, указаны ли «Исходный файл» и «Идентификатор еженедельной кампании»'поля на вкладке «Проверка процесса» были заполнены правильно. "

Если пользователь выбирает другой отчет - например,«Обновить ведущий адрес», не пройдя все 4 этапа отчета «Еженедельная кампания» (не все 4 флажка отмечены (= ИСТИНА)), чтобы отобразить следующее сообщение:

«Пожалуйста,уточнить, завершены ли процессы 'Экспорт еженедельной кампании CSV', 'Сохранить еженедельную кампанию CSV-экспорта', 'Добавление еженедельной кампании SF' и Загрузка еженедельной кампании с ошибкой TD).

В случаечто все этапы предыдущего процесса были завершены, необходимо запустить 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! 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..

Когда я пытался запустить их отдельно, как:

=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.

Практически одинаковая ошибка при объединении.

Как я могу справиться с этим?

PS

Пожалуйста, дайте мне знать, если вам нужно немногоммм данные, но, пожалуйста, имейте в виду, что у меня есть ограничения корпоративной безопасности, которые запрещают мне делиться любым листом с кем-либо за пределами компании.

1 Ответ

1 голос
/ 06 марта 2019

В первом 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.")))
...