Использование ArrayFormula для подсчета нескольких столбцов и вывода суммы в каждой строке - PullRequest
1 голос
/ 09 мая 2020

Я создал плотную формулу, используя СЧЁТЕСЛИ и ВПР для нескольких столбцов, и в настоящее время я настроил ее так, чтобы мне приходилось копировать / вставлять каждую формулу. Но я бы очень хотел иметь возможность использовать формулу массива, чтобы написать формулу один раз для каждого из столбцов ниже и отобразить ее не менее чем в 1000 строках. Есть ли уловка в написании этого?

Столбец 1

=COUNTIF(VLOOKUP(F3,WarLinesValuesTypes,2,FALSE),"*Defense*")
+COUNTIF(VLOOKUP(G3,WarLinesValuesTypes,2,FALSE),"*Defense*")
+COUNTIF(VLOOKUP(H3,WarLinesValuesTypes,2,FALSE),"*Defense*")
+COUNTIF(VLOOKUP(I3,WarLinesValuesTypes,2,FALSE),"*Defense*")
+COUNTIF(VLOOKUP(J3,WarLinesValuesTypes,2,FALSE),"*Defense*")

Столбец 2

=COUNTIF(VLOOKUP(F3,WarLinesValuesTypes,2,FALSE),"*Offense*")
+COUNTIF(VLOOKUP(G3,WarLinesValuesTypes,2,FALSE),"*Offense*")
+COUNTIF(VLOOKUP(H3,WarLinesValuesTypes,2,FALSE),"*Offense*")
+COUNTIF(VLOOKUP(I3,WarLinesValuesTypes,2,FALSE),"*Offense*")
+COUNTIF(VLOOKUP(J3,WarLinesValuesTypes,2,FALSE),"*Offense*")

Я также видел здесь сообщение StackOverflow ( итерация строки по row COUNTIF с помощью ArrayFormula в Google Sheets ) и попытался сымитировать его, но я не понимаю. На моем листе (https://docs.google.com/spreadsheets/d/1JR_eYvmf6YgW0CfzHrSR6dxF8RmyWhSKhqSpRnnbipk/edit?usp=sharing) показана сложная формула, работающая правильно для обоих столбцов, а также моя неудачная попытка для одного из этих столбцов в качестве пробной с использованием arrayformula, mmult и sign.

1 Ответ

2 голосов
/ 09 мая 2020

попробуйте:

=ARRAYFORMULA(MMULT(IF(REGEXMATCH(IFNA(VLOOKUP(
 INDIRECT("F2:J"&COUNTA(B2:B)+1), 'Flattened Standard War Lines'!A:B, 2, 0)), 
 ".*Offense.*"), 1, 0), TRANSPOSE(COLUMN(F:J))^0))

enter image description here

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