=COUNTIFS(F3:K11, "Math", F4:K12, "1a")
, который уже был представлен fitch496, это хорошее начало.
(Примечание: некоторые локали используют ;
для разделения параметров функции; другим использовать ,
.)
Есть одна возможная проблема:
он будет считать пары ячеек, где "математика" находится в четной строке,
и "1a" под ним в нечетной строке.
(Хотя вопрос не говорит об этой проблеме,
на рисунке показано, что такие пары не должны учитываться.)
чтобы решить эту проблему, я начнем с перевода приведенной выше формулы
в тот, который дает тот же результат, но с помощью SUMPRODUCT
:
=SUMPRODUCT(--(F3:K11="Math"), --(F4:K12="1a"))
здесь мы используем стандартные приемы, предшествующие логическому выражению --
чтобы превратить TRUE в 1, а FALSE в 0,
и используя SUMPRODUCT
неявное умножение как логическое и.
Затем я расширил это до
=SUMPRODUCT(--(F3:K11="Math"), --(F4:K12="1a"), --(MOD(ROW(F3:K11),2)=1))
чтобы проверить, что" математика " появилась в нечетной строке (MOD(ROW(…),2)=1
).
Это не,
потому что Excel вроде лечит ROW(F3:K11)
так же, как и ROW(3:11)
,
создание линейного массива из 9 значений
а не прямоугольный массив из 54 значений.
(IMNSHO, это ошибка в Excel.)
Я обнаружил, что могу это исправить
заставляя его учитывать столбцы, а затем игнорируя их:
=SUMPRODUCT(--(F3:K11="Math"), --(F4:K12="1a"), --(MOD(ROW(F3:K11)+0*COLUMN(F3:K11),2)=1))
которая вычисляет номер столбца каждой ячейки (COLUMN(…)
)
а затем умножает его на 0.
Эта работа.
Иллюстрация ниже такая же, как данные OP в вопросе,
но с добавлением "Math" и " 1a " в ячейках J8
и J9
.
fitch496 COUNTIFS
формула (которую я включаю в верхней части моего ответа)
а мой простой SUMPRODUCT
формула
оба считают эту смещенную "математику 1a" и дают в общей сложности 3;
мой последний SUMPRODUCT
формула игнорирует смещение " Math 1a"
и дает в общей сложности 2.
(см. источник этого поста
для копирования и вставки текста выше.)
моя формула можно немного упростить:
--(MOD(row number,2)=1)
принимает номер строки по модулю 2
и проверяет, равен ли он 1.
Если это так, сравнительный тест дает TRUE,
который преобразуется в 1 --
.
Это не 1, это должно быть 0;
сравнение с 1 дает FALSE, который преобразуется в 0 на --
.
Мы можем обойтись без логических операций
(тестирование на качество, а затем применение --
к логическому результату)
и просто используйте MOD(row number,2)
.
--(Boolean)
просто -(-(Boolean))
.
Самое сокровенное -
преобразует TRUE в 1 и FALSE в 0,
но тогда получается 1 в -1.
Тогда внешняя -
преобразует -1 обратно в 1.
Так как мы берем произведение двух --
факторы,
внешняя -
s отменить друг друга, так что мы можем опустить их.
Итак, окончательная, упрощенная формула
=SUMPRODUCT(-(F3:K11="Math"), -(F4:K12="1a"), MOD(ROW(F3:K11)+0*COLUMN(F3:K11),2))