Google Sheet объединяет два / три набора значений col и вычисляет уникальные значения с каждым - PullRequest
0 голосов
/ 26 октября 2019

У меня есть следующее

col1    col2    col3   col4
NY      sys1    DB1    4
CA      sys1    DB1    2
CA      sys1    DB1    1
MI      sys1    DB1    1
DC      sys1    DB2    2
MI      sys1    DB2    2

В листах Google я хочу, чтобы вывод выглядел следующим образом. Примечание: записи в DB1 должны учитываться отдельно, а DB2 - отдельно, но уникально в каждой БД, и вывод. Я не хочу повторять DB1 для каждой записи, поскольку все записи в следующем столбце взяты из DB1. Отображать только DB1 один, а затем, когда изменяется DB, затем отображать новый один раз, отображать и подсчитывать его собственные записи

DB1    NY    4
       CA    3
       MI    1
DB2    DC    2
       MI    2

Я попробовал предложенную формулу, но она продолжает давать мне ошибку синтаксического анализа, не уверенный, что яделаю неправильно Вот что я набираю

Мой факт таков: Конечно, столбец B показывает те же данные в снимке, но, поскольку другие значения находятся на очень низком уровне, поэтому не могзахватить другие разные значения. Пожалуйста, предположите, что Col B имеет разные значения.

Мои фактические данные

1 Ответ

0 голосов
/ 26 октября 2019

try:

=ARRAYFORMULA({IF(COUNTIFS(
 QUERY(QUERY(A:D, "select C,A,sum(D) where A !='' group by C,A label sum(D)''", 0), "select Col1", 0), 
 QUERY(QUERY(A:D, "select C,A,sum(D) where A !='' group by C,A label sum(D)''", 0), "select Col1", 0), ROW(INDIRECT("F1:F"&COUNTA(
 QUERY(QUERY(A:D, "select C,A,sum(D) where A !='' group by C,A label sum(D)''", 0), "select Col1", 0)))), "<="&ROW(INDIRECT("F1:F"&COUNTA(
 QUERY(QUERY(A:D, "select C,A,sum(D) where A !='' group by C,A label sum(D)''", 0), "select Col1", 0)))))=1, 
 QUERY(QUERY(A:D, "select C,A,sum(D) where A !='' group by C,A label sum(D)''", 0), "select Col1", 0), ),
 QUERY(QUERY(A:D, "select C,A,sum(D) where A !='' group by C,A label sum(D)''", 0), "select Col2,Col3", 0)})

0


Синтаксис EU:

=ARRAYFORMULA({IF(COUNTIFS(
 QUERY(QUERY(A:D; "select C,A,sum(D) where A !='' group by C,A label sum(D)''"; 0); "select Col1"; 0); 
 QUERY(QUERY(A:D; "select C,A,sum(D) where A !='' group by C,A label sum(D)''"; 0); "select Col1"; 0); ROW(INDIRECT("F1:F"&COUNTA(
 QUERY(QUERY(A:D; "select C,A,sum(D) where A !='' group by C,A label sum(D)''"; 0); "select Col1"; 0)))); "<="&ROW(INDIRECT("F1:F"&COUNTA(
 QUERY(QUERY(A:D; "select C,A,sum(D) where A !='' group by C,A label sum(D)''"; 0); "select Col1"; 0)))))=1; 
 QUERY(QUERY(A:D; "select C,A,sum(D) where A !='' group by C,A label sum(D)''"; 0); "select Col1"; 0); )\
 QUERY(QUERY(A:D; "select C,A,sum(D) where A !='' group by C,A label sum(D)''"; 0); "select Col2,Col3"; 0)})
...