Есть ли способ оценить несколько столбцов, а затем полученные строки с формулой массива в Google Sheets? - PullRequest
0 голосов
/ 28 января 2020

У меня есть список возможностей обновления Google и дата перехода каждой возможности в новую стадию обновления, которую можно найти здесь . Конечная цель - увидеть, сколько возможностей было на каждом этапе в течение любой данной «даты снимка».

Я создал формулу INDEX MATCH, которая просматривает столбцы дат изменения этапа и возвращает этап на основе снимка дата дана. Проблема в том, что у меня должен быть дополнительный столбец для каждой даты снимка, на который я хочу посмотреть.

=IFERROR(INDEX(SUBSTITUTE($A$1:$G$1," (AUTOMATIC)",""),MATCH(I$1,ARRAYFORMULA(IF($A2:$G2="","",TO_DATE(INT($A2:$G2)))),1)),"Untouched")

Есть ли способ оценить столбцы с помощью формулы INDEX MATCH и затем получающиеся строки, все в одной формуле массива? Я хочу, чтобы вывод был похож на таблицу в столбцах O: T.

Ответы [ 2 ]

0 голосов
/ 04 февраля 2020

Вот моя попытка:

=ARRAYFORMULA(ARRAY_CONSTRAIN(IFERROR(VLOOKUP(D1:H1&C2:C&"*",QUERY(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(IF(Sheet1!A2:G="",,FLOOR(Sheet1!A2:G-2,7)+2&Sheet1!A1:G1&"|"),,9^99)),,9^99),"| ",0,0)),"select Col1,COUNT(Col1) group by Col1"),2,0)),COUNTA(C2:C),COUNTA(D1:1)))

и мой лист:

https://docs.google.com/spreadsheets/d/1SZcAsALTxu2fpNu3s-4fIq-ms5IDyXijQWF1c49mtkU/edit?usp=sharing

Я понимаю, что у меня нет " нетронутый »выяснил еще, потому что я не вижу никаких значений в« нетронутом »столбце, поэтому я еще не совсем ясно, логика c этого.

Как выглядят другие числа? Я использовал FLOOR (... 7) для дат, поэтому он будет считать все на неделе, связанной с понедельником, а не только даты, приходящиеся на этот понедельник.

0 голосов
/ 28 января 2020

попробовать:

=ARRAYFORMULA(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(
 IF(I2:M="",,"♠"&TO_TEXT(I1:M1)&"♦"&I2:M&"♦"),,999^99)),,999^99), "♠")), "♦"), 
 "select Col2,count(Col2) 
  where Col2 is not null 
  group by Col2 
  pivot Col1"))

0


ОБНОВЛЕНИЕ:

=ARRAYFORMULA(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(
 IF(A2:G="",,"♠"&TO_TEXT(A2:G)&"♦"&REGEXEXTRACT(A1:G1, "(.+) \(")&"♦"),,999^99)),,999^99), "♠")), "♦"), 
 "select Col2,count(Col2) 
  where Col2 is not null 
  group by Col2 
  pivot Col1"))

0

...