Col A  Col B  Col C
Row 1  a      a      a  
Row 2  a      a      a  
Row 3  a      a      a  

Я пытаюсь установить определенный диапазон в функции COUNTIF, = COUNTIF(диапазон, критерии).

Пример 1. Используя приведенные выше примеры данных, я хотел бы увидеть, сколько вхождений буквы "а" в строке 1, столбец А. Это можно сделать, просто взглянув на одну ячейку A2.

=COUNTIF(A1,"a")

Пример 2: Я хотел бы увидеть, сколько "а" встречается во всей строке 2. Это можно сделать, используя диапазон от A2: C2.

=COUNTIF(A2:C2,"a")

Пример 3: Вот где я застрял. Я хотел бы видеть, сколько "а" встречается только в строке 3, столбец А и С. Я не могу понять, как ввести это в формулу.

=COUNTIF(????????,"a")

РЕДАКТИРОВАТЬ: Спасибо всем за быстрые ответы. Причина, по которой я задал этот вопрос, заключается в том, что я действительно работаю над следующей проблемой:

Я вручную ввел данные в столбцы A - H. Столбцы A и B вместе создали одну из четырех оценок. C & D создать второй рейтинг. E & F создать третий. G & H создает четвертый рейтинг. Я объединил эти четыре рейтинга и вижу их в столбцах I - L. Из этих четырех оценок (из 25 комбинаций, которые можно повторить), которые отображаются в другом порядке, мне нужно присвоить самое высокое значение (1 = высокое, 4 = низкое ) в столбец N. Столбец M - это дополнительный столбец, необходимый для выполнения необходимых функций. Он выводит наивысшую оценку из четырех оценок в виде числа от 1-25 (общее количество возможных вариантов). Из этого числа я затем индексирую соответствующий рейтинг из Рейтингового листа.

Формулы ниже работают просто отлично. Я прошу о помощи по двум причинам. Я хочу объединить всю работу в одну ячейку (если это возможно) и удалить добавленные столбцы I - L, где я могу легко СОГЛАСОВАТЬ () два ручных ввода по рейтингу в функции. Я думал, что это можно сделать, но прежде всего меня сдерживает раздел кода ниже:

COUNTIF(I1:L1,Ratings!$A$1:$A$25)

Это сдерживает меня, потому что COUNTIF() может принимать диапазон в качестве входного аргумента, но не отдельные ячейки. Я хочу, чтобы (A1 & B1), (C1 & D1), (E1 & F1), (G1 & H1) были частью диапазона для функции COUNTIF(). Рейтинги для каждой доступной комбинации указаны на втором листе с надписью "Рейтинги".

Sheet 1: Sheet1

Columns: A  B  C  D  E  F  G  H  I  J  K  L  M  N
  Row 1: D  2  A  5  E  3  E  3  D2 A5 E3 E3   

-Колонки AH вводятся вручную.

-Колонна I есть (А1 и В1)

-Колонна J является (C1 и D1)

-Колонна K есть (E1 & F1)

-Колонна L есть (G1 & H1)

-Колонна М

  {=IFERROR(MATCH(1,IF(COUNTIF(I1:L1,Ratings!$A$1:$A$25)>0,1,0),0),"")}

Столбец N является

   =IFERROR(INDEX(Ratings!$B$1:$B$25,M1),"")

Второй лист с надписью Рейтинги ниже:

Sheet 2: Ratings
Columns: A   B
Row 1:   A5  1
Row 2:   A4  1
Row 3:   B5  1
Row 4:   A3  1
Row 5:   A2  1
Row 6:   B4  2
Row 7:   B3  2
Row 8:   C5  2
Row 9:   C4  2
Row 10:  D5  2
Row 11:  A1  3
Row 12:  B2  3
Row 13:  B1  3
Row 14:  C3  3
Row 15:  C2  3
Row 16:  D4  3
Row 17:  E5  3
Row 18:  C1  4
Row 19:  D3  4
Row 20:  D2  4
Row 21:  D1  4
Row 22:  E4  4
Row 23:  E3  4
Row 24:  E2  4
Row 25:  E1  4

Надеемся, что, имея под рукой полную проблему, вы все сможете лучше понять, чего я пытаюсь достичь.

3 ответа3

1
=countif(A3,"a")+countif(C3,"a")

или проще:

=(A3="a")+(C3="a")

Даже если вы определили именованный диапазон, который не пересекается, COUNTIF() не примет его.

Однако что-то вроде:

=SUMPRODUCT(COUNTIF(INDIRECT({"A3","C3"}),"a"))

будет работать, но это не лучше, чем сумма COUNTIF() s.

0

Я нашел лучшее решение с помощью друга. Он состоит из замены метода COUNTIF() на MIN(VLOOKUP(), VLOOKUP(), VLOOKUP(), VLOOKUP()), чтобы найти самый высокий рейтинг из 4 заданных значений. Я также смог объединить 2 столбца, исключив при этом 4 дополнительных столбца комбинации и 1 столбец "среднего шага".

=MIN(VLOOKUP((A1&B1),Ratings!$A$1:$B$25,2,FALSE),VLOOKUP((C1&D1),Ratings!$A$1:$B$25,2,FALSE),VLOOKUP((E1&F1),Ratings!$A$1:$B$25,2,FALSE),VLOOKUP((G1&H1),Ratings!$A$1:$B$25,2,FALSE))
0

Вот несколько других вариантов:

Это основано на номере индекса:

=SUM(INDEX(((COLUMN(A3:C3) = 1)+(COLUMN(A3:C3) =3))*(A3:C3="a"),))

Это основано на шаблоне любого другого:

=SUM(INDEX((MOD(COLUMN($A$3:$C$3),2)=1)*($A$3:$C$3="a"),))

Это основано на значениях в строке 1:

=SUM(INDEX(($A$1:$C$1="Yes")*($A$3:$C$3="a"),))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .