Excel 2010 Специальные ячейки для аргументов ячеек ввода формулы

403
user3204879
 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 

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

0
Есть ли шаблон для столбцов, которые вы хотите выбрать? т.е. это все остальные, или есть значение в строке 1, которое обозначает, что считать? Scott Craner 8 лет назад 1
Почему вы не можете `countif () + countif ()`? Raystafarian 8 лет назад 0

3 ответа на вопрос

1
Gary's Student
=countif(A3,"a")+countif(C3,"a") 

или проще:

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

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

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

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

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

Это фактически отвечает на вопрос, который я задал, но я специально ищу решение в виде = COUNTIF (RANGE, "a") user3204879 8 лет назад 0
@ user3204879 `COUNTIF ()` не работает в непересекающемся диапазоне. Gary's Student 8 лет назад 2
И в этом моя проблема. Dang. Не повезло, что поиск Обзор формул тоже. https://support.office.com/en-us/article/Overview-of-formulas-7abfda78-eff3-4cc6-b4a7-6350d512d2dc?CTT=5&origin=HP010342370&CorrelationId=781a3f15-ea9a-48f0-ac69-f091d2b9718d&ui=en- США и Rs = EN-US и объявления = US # BMusing_references_in_formulas user3204879 8 лет назад 0
@ user3204879 посмотри мое обновление Gary's Student 8 лет назад 0
Почти забрал мою + * 1 * обратно для использования INDIRECT (). Но если это работает для ОП, то кто я такой, чтобы сказать иначе? Scott Craner 8 лет назад 0
@ScottCraner ** Я полностью с вами согласен! ** .................. INDIRECT () `довольно плохо ................ добавление несколько `COUNTIF () 'намного лучше. Gary's Student 8 лет назад 1
0
Scott Craner

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

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

=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"),)) 

enter image description here

0
user3204879

I found a better solution with the help of a friend. It consists of replacing the COUNTIF() method with MIN(VLOOKUP(),VLOOKUP(),VLOOKUP(),VLOOKUP()) to find the highest rating of the 4 given values. I was also able to concatenate the 2 columns thus eliminating the 4 extra combination columns and the 1 "mid step" column using the method.

=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)) 

Похожие вопросы