Запрос значений из одного столбца и заполнить столбцы, оба на основе нескольких критериев - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь запросить только идентификаторы клиентов, которые соответствуют определенным критериям, от вкладки источника до вкладки вывода и заполнить 2 столбца статическими значениями и 2 столбца динамическими значениями на основе критериев.

Ввкладка источника у меня есть:

+-----------------------+------+
| Status                | ID   |
+-----------------------+------+
| Retired/Deceased      | 2a33 |
+-----------------------+------+
| Liquidation           | 1sTR |
+-----------------------+------+
| Dissolved             | 3B76 |
+-----------------------+------+
| Released from company | 463z |
+-----------------------+------+
| Active                | 557g |
+-----------------------+------+
| In progress           | zz34 |
+-----------------------+------+
| Demo                  | cc56 |
+-----------------------+------+

Обратите внимание, что есть 7 критериальных значений, и мне нужен вывод только для 4 из них.Это означает, что мне нужно 4 значения, на основе которых будет двоичное заполнение динамических столбцов.Остальные 3 значения устарели.

Из этих 4 значений, если у меня есть например.Критерии 1, тогда у меня будет одна заливка из 2 динамических столбцов, если нет (для остальных 3 значений), у меня будут другие значения заполнения.

Так что я думаю, что просто пойти с двоичным решением длявыбор определенных значений не применим.

В логике вкладки вывода:

+--------------------------------------------------------------------------------+
|                                   Output tab                                   |
+--------------------------------------------------------------------------------+
| ID | Status | Reason | Comment                    | Detail                     |
+----+--------+--------+----------------------------+----------------------------+
| A1 | Static | Static | If criteria = criteria 1,  | If criteria = criteria 1,  |
|    |        |        |    then null,              |    then value 1,           |
|    |        |        |    else criteria value     |    else value 2            |
+----+--------+--------+----------------------------+----------------------------+
| B1 | Static | Static | If criteria = criteria 1,  | If criteria = criteria 1,  |
|    |        |        |    then null,              |    then value 1,           |
|    |        |        |    else criteria value     |    else value 2            |
+----+--------+--------+----------------------------+----------------------------+
| C1 | Static | Static | If criteria = criteria 1,  | If criteria = criteria 1,  |
|    |        |        |    then null, else         |    then value 1,           |
|    |        |        |    criteria value          |    else value 2            |
+----+--------+--------+----------------------------+----------------------------+
| D1 | Static | Static | If criteria = criteria 1,  | If criteria = criteria 1,  |
|    |        |        |    then null,              |    then value 1,           |
|    |        |        |    else criteria value     |    else value 2            |
+----+--------+--------+----------------------------+----------------------------+
| E1 | Static | Static | If criteria = criteria 1,  | If criteria = criteria 1,  |
|    |        |        |    then null,              |    then value 1,           |
|    |        |        |    else criteria value     |    else value 2            |
+----+--------+--------+----------------------------+----------------------------+
| F1 | Static | Static | If criteria = criteria 1,  | If criteria = criteria 1,  |
|    |        |        |    then null,              |    then value 1,           |
|    |        |        |    else criteria value     |    else value 2            |
+----+--------+--------+----------------------------+----------------------------+
| G1 | Static | Static | If criteria = criteria 1,  | If criteria = criteria 1,  |
|    |        |        |    then null,              |    then value 1,           |
|    |        |        |    else criteria value     |    else value 2            |
+----+--------+--------+----------------------------+----------------------------+

Вкладка фиктивного вывода:

+-----------------------+------+-------------------+-------------+------------------+---------------------------------+
| Status                | ID   | Status            | Reason      | Comment          | Detail                          |
+-----------------------+------+-------------------+-------------+------------------+---------------------------------+
| Retired/Deceased      | 2a33 | Unable to proceed | Unspecified | Retired/Deceased | Retired/No longer in business   |
+-----------------------+------+-------------------+-------------+------------------+---------------------------------+
| Liquidation           | 1sTR | Unable to proceed | Unspecified | Liquidation      | Retired/No longer in business   |
+-----------------------+------+-------------------+-------------+------------------+---------------------------------+
| Dissolved             | 3B76 | Unable to proceed | Unspecified | Dissolved        | Retired/No longer in business   |
+-----------------------+------+-------------------+-------------+------------------+---------------------------------+
| Released from company | 463z | Unable to proceed | Unspecified | (null)           | No longer works for the company |
+-----------------------+------+-------------------+-------------+------------------+---------------------------------+

Столбец 'Статус "не требуется.Я добавил его только для справки и удобства чтения.

Извинения, но у меня есть корпоративные ограничения безопасности для обмена ссылками на Google Sheets.

Часть, с которой я борюсьв основном это то, что в столбце 4 (первом из динамических) необходимо вернуть значение критериев из столбца 2 из вкладки источника.

До сих пор я обходил первую частьзапрос, где я QUERY идентификаторы, основанные на нескольких критериях, помечены и заполнены столбцы статических значений.

=QUERY(Data!$A$3:$BN, 
    "SELECT B, 'Unable to proceed', 'Unspecified' 
     WHERE A = 'Retired/Deceased' 
      OR A = ''Liquidation' 
      OR A = 'Dissolved'  
      OR A = 'Released from company' 
      AND A IS NOT NULL
     LABEL 'Unable to proceed' 'Unspecified' , 'Status' 'Reason'", 1)

Однако я борюсь с динамическими столбцами, основанными на нескольких критериях.

Я посмотрел ARRAYFORMULA с IFERROR и VLOOKUP во вложенном QUERY, но не смог обойти это.

Кроме того, меня очень интересует, как этобудет работать, если будет более 2 вариантов значений для заполнения столбцов 3 и 4 на вкладке вывода.Насколько я знаю, способ обойти 2 значения, основанных на критериях, заключается в том, чтобы вложить функцию IFERROR, чтобы сделать ее двоичной.Но что, если для заполнения массивов было более двух значений?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

в зависимости от статуса:

=QUERY({QUERY(Data!$A$1:$B, 
        "SELECT B, 'Unable to proceed', 'Unspecified' 
         WHERE A = 'Retired/Deceased' 
            OR A = 'Liquidation' 
            OR A = 'Dissolved'  
            OR A = 'Released from company' 
           AND A IS NOT NULL
         LABEL 'Unable to proceed''Status', 'Unspecified''Reason'", 1),
        QUERY(ARRAYFORMULA(IFERROR(VLOOKUP(
        QUERY(Data!$A$2:$B, 
        "SELECT A
         WHERE A = 'Retired/Deceased' 
            OR A = 'Liquidation' 
            OR A = 'Dissolved'  
            OR A = 'Released from company' 
           AND A IS NOT NULL", 0), 
 {"Retired/Deceased",      "Retired/Deceased", "Retired/No longer in business";
  "Liquidation",           "Liquidation",      "Retired/No longer in business";
  "Dissolved",             "Dissolved",        "Retired/No longer in business";
  "Released from company", "",                 "No longer works for the company"}, {2, 3}, 0), )), 
        "LABEL Col1 'Comment', Col2 'Detail'", 0)}, , 0)

0

0 голосов
/ 20 февраля 2019

на основе ID:

=QUERY({QUERY(Data!$A$1:$B, 
        "SELECT B, 'Unable to proceed', 'Unspecified' 
         WHERE A = 'Retired/Deceased' 
            OR A = 'Liquidation' 
            OR A = 'Dissolved'  
            OR A = 'Released from company' 
           AND A IS NOT NULL
         LABEL 'Unable to proceed''Status', 'Unspecified''Reason'", 1),
        QUERY(ARRAYFORMULA(IFERROR(VLOOKUP(
        QUERY(Data!$A$2:$B, 
        "SELECT B
         WHERE A = 'Retired/Deceased' 
            OR A = 'Liquidation' 
            OR A = 'Dissolved'  
            OR A = 'Released from company' 
           AND A IS NOT NULL", 0), 
 {"2a33", "Retired/Deceased", "Retired/No longer in business";
  "1sTR", "Liquidation",      "Retired/No longer in business";
  "3B76", "Dissolved",        "Retired/No longer in business";
  "463z", "",                 "No longer works for the company"}, {2, 3}, 0), )), 
        "LABEL Col1'Comment', Col2'Detail'", 0)}, , 0)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...