Excel — подсчет количества строк. Значение X появляется там, где столбец A равен Y

У меня есть следующий набор данных, который здесь обрезан. Он имеет около 3 тыс. строк, в которых один и тот же раздел повторяется снова и снова, но значения немного отличаются. Цвета повторяются и никогда не меняются, но значения B:G могут меняться для каждого цвета.

Я пытаюсь подсчитать количество строк, в которых появляется значение, например Оскар, для каждого цвета. В приведенном здесь примере набора данных Оскар получил бы значение 1 для красного цвета, поскольку в двух строках, где красный является цветом, он появляется только в одной из этих строк. Аналогично, он получит 2 за фиолетовый цвет, потому что он появляется в двух рядах фиолетового цвета.

Трудность, с которой я сталкиваюсь, заключается в том, что я продолжаю подсчитывать количество раз, когда название цвета появляется. Самое близкое, что у меня есть, это ниже, где K22:K30 — список цветов, а Q21:30 — названия.

=COUNT(IF(FILTER($A:$G,$K22=$A:$A)=Q$21,1,""))

Любая помощь приветствуется, спасибо.

А Б С Д Э Ф г Синий Джон Брайан Стив Дол Брейди Переулок Зеленый Стив Дол Кайл Кайл Кайл Кайл Красный Стив Джеймс Джеймс Джеймс Дол Дол Желтый Джон Брайан Брайан Брайан Джон Джон Апельсин Джон Питер Дэйв Дэйв Дэйв Дэйв Фиолетовый Джон Питер Питер Питер Оскар Оскар Розовый Дол Стив Оскар Оскар Оскар Оскар Черный Майк Майк Майк Майк Дол Кайл Голубой Остин Остин Остин Дол Стив Стив Синий Джон Брайан Стив Дол Брейди Переулок Зеленый Стив Дол Кайл Кайл Кайл Кайл Красный Оскар Оскар Оскар Оскар Оскар Оскар Желтый Джон Брайан Брайан Брайан Джон Джон Апельсин Джон Питер Дэйв Дэйв Дэйв Дэйв Фиолетовый Джон Питер Питер Питер Оскар Оскар Розовый Дол Стив Оскар Оскар Оскар Оскар Черный Майк Майк Майк Майк Дол Кайл Голубой Остин Остин Остин Дол Стив Стив
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
1
0
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Обновлено: похоже, что вы ищете следующие значения, если я не ошибаюсь: (функция FILTER() избыточна и не нужна, я следовал формуле в OP, поэтому понял позже)


• Способ 1: использование MMULT()

=SUM(--(MMULT(($I3=$B$1:$G$18)*(J$2=$A$1:$A$18),SEQUENCE(COLUMNS($B$1:$G$1)))>0))

• Способ 2: использование BYROW() с конструкцией LAMBDA().

=SUM(N(BYROW(($I3=$B$1:$G$18)*(J$2=$A$1:$A$18),LAMBDA(x,OR(x)))))

• Способ 3: использование BYROW() с конструкцией ETA LAMBDA.

=SUM(N(BYROW(($I3=$B$1:$G$18)*(J$2=$A$1:$A$18),OR)))

Вы также можете использовать MAKEARRAY() для возврата одной формулы динамического массива:


=LET(
     _Data, A1:G18,
     _Colors, TAKE(_Data,,1),
     _Names, DROP(_Data,,1),
     _UniqC, TOROW(UNIQUE(_Colors)),
     _UniqN, UNIQUE(TOCOL(_Names)),
     _Counts, MAKEARRAY(ROWS(_UniqN),COLUMNS(_UniqC), LAMBDA(r,c,
             SUM(--(MMULT((INDEX(_UniqN,r)=_Names)*(INDEX(_UniqC,c)=_Colors),SEQUENCE(COLUMNS(_Data)-1))>0)))),
     HSTACK(VSTACK("",_UniqN), VSTACK(_UniqC, _Counts)))

Другие вопросы по теме