Это расширение этого вопроса , на который ответил XOR LX .
В исходном вопросе я хотел посчитать количество строк вматрица, включающая значения, которые удовлетворяли хотя бы одному критерию, специфичному для столбца.Упомянутые столбцы были последовательными (например, A1: D4), но ситуация требует индексирования столбцов, которые не являются последовательными.
Взять матрицу данных:
A B C D E F G H
4 2 2 2 1 4 2 4
5 2 1 3 4 1
3 2 1 4 5 1
1 2 3 5 3 2 2 2
2 2 2 2 2 2 2 2
С критериями, специфичными для столбца:
- Критерии столбца A:> 2
- Столбец Bкритерии:> 2
- критерии столбца C: <2 </li>
- критерии столбца D:> 4
- критерии столбца E:> 2
- критерии столбца F:> 3
- Критерий столбца G:> 2
- Критерий столбца H:> 3
Чтобы подсчитать количество строк, имеющих значения для всех столбцов,кроме того, чтобы соответствовать хотя бы критерию, специфичному для столбцов, мы могли бы использовать код *1035* XOR LX *: 1036 *
=SUM(N(MMULT(IF(MMULT(N(A1:H5=""),TRANSPOSE(COLUMN(A1:H5)^0))=0,COUNTIF(OFFSET(A1,ROW(A1:H5)-MIN(ROW(A1:H5)),COLUMN(A1:H5)-MIN(COLUMN(A1:H5))),{">2",">2","<2",">4",">2",">3",">2",">3"}),0),TRANSPOSE(COLUMN(A1:H5)^0))>0))
..., что может иметь некоторые проблемы с обработкой пробелов, поэтому альтернатива:
=ROWS(A1:D4)-COUNTIFS(A1:A5,"<=2",B1:B5,"<=2",C1:C5,">=2",D1:D5,"<=4",E1:E5,">=2",F1:F5,">=3",G1:G5,">=2",H1:H5,">=3")-COUNT(1/N(MMULT(N(A1:H5=""),TRANSPOSE(COLUMN(A1:H5)^0))>0))
... который, насколько я тестировал, кажется, обрабатывает пробелы независимо от их частоты или местоположения.
Но что если подсчитать только строки с данными для наверняка , игнорируя другие столбцы.Кроме того, что, если только определенные столбцы должны оцениваться по их критериям?
Давайте рассмотрим пример выше.Наша цель - подсчитать количество строк с i) полными данными в определенных столбцах и ii) записями в определенных столбцах, которые соответствуют хотя бы одному критерию, специфичному для столбца.
Соответствующими столбцами, которые должны содержать полные данные, являются A: C и F: H.Столбцы, которые должны оцениваться по их критериям, являются только A: C.Решение 2, поскольку:
- Всего 5 строк, но только строки 1, 3, 4 и 5 соответствуют требованиям, так как они имеют полные данные в столбцах A: C и F: H.В строке 2 отсутствуют данные в столбце A, а также в G, и любой из них должен исключать его включение.Обратите внимание, что, хотя в строке 3 отсутствуют данные в столбцах D и E, они все еще включены, поскольку эти столбцы не важны.
- Строки 1 и 3 соответствуют заданным критериям, поскольку i) они содержат полные данные в столбцахA: C и F: H, и ii) хотя бы одна запись соответствует одному из критериев для столбцов A, B и C;в частности, значение в строке 1, столбце A (4> 2) и в строке 3, столбце A (3> 2) и столбце C (1 <2).Обратите внимание, что это по-прежнему считается только одной строкой, отвечающей критериям, даже если критерии для 2 столбцов соблюдены. </li>
Ваши мысли будут приветствоваться.Пожалуйста, также проявите некоторую любовь к XOR LX в оригинальном сообщении - я уверен, что вы найдете его решение полезным.