Таблицы Google: как использовать формулу массива для поиска и получения данных только из определенного динамического набора столбцов

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

В примере ссылки у меня есть значения заголовка: AA - BB - CC - ABBA - KK - VV, но это могло быть просто: CC - AA - QQ - YY.

Я не знаю заранее, какие заголовки я получу и сколько.

Моя проблема в том, что я хочу суммировать значения каждого продукта для каждой строки, используя формулу массива, где заголовки столбцов включают, например, «BB».

Так что в основном =arrayformula(sumifs(G4:L1000,$G$3:$L$3,"BB")), если бы это было так.

Мое самое близкое предположение состоит в том, что мне нужно использовать какую-то ВПР, но поскольку индекс столбцов для получения данных не статичен, я не могу понять, как его решить.

Отчаянно нуждается в помощи.

https://docs.google.com/spreadsheets/d/1ZcMldTJrFLz_f_w-lGMIuAKs_yGSc1eDXbA2tgr9Bw4/edit?usp=sharing

Я могу получить массивы всех заголовков, соответствующих моему запросу (в B4: B):

=TRANSPOSE(SPLIT(arrayformula(CONCATENATE(IF(REGEXMATCH(G3:L3,"BB"),G3:L3&"~",""))),"~"))

а затем получить индексы столбцов (в C4: C):

=iferror(arrayformula(match(B4:B,$G$3:$L$3,0)+6),"")

или даже буквы столбца (в D4: D):

=iferror(arrayformula(REGEXEXTRACT(ADDRESS(ROW(), indirect("C4:C"&counta(B4:B)+3)), "[A-Z]+")),"")

и тогда у меня была какая-то наполовину готовая идея использовать это в vlookup, но теперь я просто полностью застрял.


person user10553622    schedule 27.04.2019    source источник


Ответы (1)


Вы можете создать промежуточную таблицу, используя

=filter(F3:L, arrayformula(regexmatch(F3:L3,"BB")))

а затем используйте SUM в каждом результирующем столбце, чтобы получить то, что вам нужно. Если FILTER результаты начинаются со строки 2, вы можете поместить SUM функции в строку 1, чтобы они не мешали расширению FILTER.

person dwmorrin    schedule 27.04.2019
comment
Привет, извините за путаницу, но я пытаюсь суммировать каждую строку отдельно! - person user10553622; 28.04.2019