Как перевести формулу COUNTIFS в ARRAYFORMULA, чтобы автоматически вставить формулу в каждую строку - PullRequest
1 голос
/ 12 апреля 2019

С моей формулой countifs в столбце C я хочу автоматически нумеровать (промежуточный итог) все вхождения идентичной строки в столбце A (например, Apple или Orange), но только если в той же строке, где строка появляется, столбец B определенного типа, например если в столбце B тип «фрукты», в столбце C автоматически нумеруются все вхождения идентичной строки в столбце А. Для каждой новой строки типа «фрукты» начинайте нумерацию заново.

Результат должен быть таким:

+---+-----------+-------+---+--+
|   |     A     |   B   | C |  |
+---+-----------+-------+---+--+
| 1 | Apple     | Fruit | 1 |  |
| 2 | Apple     | Fruit | 2 |  |
| 3 | Mercedes  | Car   | 0 |  |
| 4 | Mercedes  | Car   | 0 |  |
| 5 | Orange    | Fruit | 1 |  |
| 6 | Orange    | Fruit | 2 |  |
| 7 | Apple     | Fruit | 3 |  |
+---+-----------+-------+---+--+

Формула в столбце C:

=COUNTIFS($A1:$A$1;A1;$B1:$B$1;"Fruit")
=COUNTIFS($A$1:$A2;A2;$B$1:$B2;"Fruit")
=COUNTIFS($A$1:$A3;A3;$A$1:$A3;"Fruit")
…and so on…

Я хочу перевести эту формулу в формулу массива и поместить ее в заголовок, чтобы формула автоматически расширилась.

Что бы я ни пытался, это не сработает.

Любая помощь действительно ценится!

Вот ссылка на лист: [https://docs.google.com/spreadsheets/d/1lgbuLbTSnyKkqr33NdVuDEv5eoXFwatX1rgeF9YpIks/edit?usp=sharing][1]

Ответы [ 2 ]

1 голос
/ 12 апреля 2019
={"ARRAYFORMULA HERE"; ARRAYFORMULA(IF(LEN(B2:B), IF(B2:B="Fruit",
 MMULT(N(ROW(B2:B)>=TRANSPOSE(ROW(B2:B))), N(B2:B="Fruit"))-
 HLOOKUP(0, MMULT(N(ROW(B2:B)>TRANSPOSE(ROW(B2:B))), N(B2:B="Fruit")),
 MATCH(VLOOKUP(ROW(B2:B), IF(N(B2:B<>B1:B), ROW(B2:B), ), 1, 1),
       VLOOKUP(ROW(B2:B), IF(N(B2:B<>B1:B), ROW(B2:B), ), 1, 1), 0), 0), 0), ))}

0


0

демонстрационная таблица

0 голосов
/ 12 апреля 2019
=ARRAYFORMULA(IF(LEN(B2:B), IF(B2:B="Fruit",
 MMULT(N(ROW(B2:B)>=TRANSPOSE(ROW(B2:B))), N(B2:B="Fruit")), 0), ))

0

...