Excel 2010 Специальные ячейки для аргументов ячеек ввода формулы
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 ответа
Я нашел лучшее решение с помощью друга. Он состоит из замены метода 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))
=countif(A3,"a")+countif(C3,"a")
или проще:
=(A3="a")+(C3="a")
Даже если вы определяете именованный диапазон, который не пересекается, COUNTIF()
не примет это.
Однако что-то вроде:
=SUMPRODUCT(COUNTIF(INDIRECT({"A3","C3"}),"a"))
будет работать, но это не лучше, чем сумма COUNTIF()
s.
Вот несколько других вариантов:
Это основано на номере индекса:
=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"),))