2014-12-07 3 views
0

Работая на шаг выше COUNTIFS, я предлагаю вызов для написания формулы без кода VBA. Основные данные в сочетании с 1000s строк с:Использование COUNTIFS для серии значений сразу

  • Колонка A: строк со значениями от 1 до 3
  • Колонка B: строки со значениями от 1 до 250.

Для этой цели скажем, мы смотрим на все ячейки значения «1» в столбце A, которые соответствуют значению «5» в столбце B. Чтобы найти все совпадения, мы будем использовать команду COUNTIFS.

1 1 
2 5 
1 5 
1 7 
1 10 
3 45 
2 12 
1 2 
2 1 

=COUNTIFS(A1:A9;1;B1:B9;5) 

Ответ здесь 1.

Следующая вещь, "5" в колонке B относится к группе, например, группы от 1 до 9. Каким будет лучший способ подсчитать все совпадения в этом примере, так что для всех «1» в столбце A нам нужно будет найти все совпадения со значениями от 1 до 9 в колонка B ?! В верхнем примере, который приведет к «4». Очевидное решение состоит из серии команд IF, но это неэффективно, и легко сделать ошибку, и получить ее легко.

=COUNTIFS(A1:A9;1;B1:B9;"<="&9) 

Работает только как верхний предел. Если я дам диапазоне третий критерии и условия, как «> =» & 1 не работает - возвращает 0.

Gasper

+0

Я не понимаю, почему вы думаете COUNTIFS не будет работать для этого, как вы можете указать несколько диапазонов и условий? Я думаю, вам нужно показать пример ваших данных, поскольку это непонятно из вопроса. –

+0

Я немного отредактировал. Надеюсь, теперь станет ясно, что – energyMax

+0

вы можете дать таблицу ваших ** ожидаемых результатов **? Я не понимаю, что вы пытаетесь сделать? Каков ожидаемый столбец, который вы ищете? – AHC

ответ

1

В случае, если данные в A1: B9, с помощью таблицы поиска в D1: E10 с буквами AJ в колонке D и чисел от 0 до 9 в столбце E и следующей формуле в B11, ссылающейся на буквы, введенные в A11 и A12:

= COUNTIFS (A1: A9,1, B1: B9, "> =" & VLOOKUP (A11, $ D $ 1: $ E $ 10,2, FALSE), B1: B9, "< =" & ВПР (A12, $ D $ 1: $ E $ 10,2, FALSE))

работы, меняя буквы в A11 и A12 дает правильное количество согласно тому, что они соответствуют в looku в D1: E10.

+0

Это работает, я, наконец, понял, что мои проблемы находятся где-то в другом месте. Проблемы состоят в том, что мой второй диапазон критериев не распознается как числа в ячейках (рисунок ниже). Если вы посмотрите на формулу - это столбец N. Возможно ли даже преобразование текста в число в одной формуле? например NUMBERVALUE? http://shrani.si/f/1C/Kx/mAYK9Wz/textnumber.jpg – energyMax

+0

Немного поздно с моей стороны и уверен, что вы, вероятно, уже поняли это для себя, но я думаю, что функция VALUE() Excel конвертировать числа, сохраненные в виде текста, обратно к номерам. Вы также можете использовать TRIM() для удаления любых пробелов. В качестве альтернативы сохраните свои данные в виде файла CSV перед возвратом в excel и без пробелов все числа будут сохранены в виде чисел. CSV-вещь часто полезна для получения любого форматирования из электронных таблиц, а также удаляет защиту и любые формулы. – fraggle

1

Когда вы говорите, дают третий критерий в диапазоне вы имеете в виду:

= COUNTIFS (А1: А9; 1; В1: В9; "< =" & 9, В1: В9; "> = 1")

Если так, то попробовать:

= COUNTIFS (A1: A9; 1; B1: B9; AND ("< =" & 9, ; «> = 1»))

т.е. имеет два условных диапазонов с вторым диапазоном, имеющими оба условия в сочетании с и()

+0

Thnks. Но это не всегда работает. Посмотрите на комментарий – energyMax

+0

Не на моем компьютере, поэтому не могу проверить это в настоящее время, но достаточно уверен, что вам нужно объединить оба условия на B с AND(), чтобы вы просто тестировали B один раз, но для целого ряда значений, ваш поиск должен затем работа – fraggle

+0

Ваши комментарии очень ценятся. Но это не сработает. Я опубликовал всю формулу. В этом случае VLOOKUP предлагает верхний и нижний предел – energyMax

-1

Почти там. Я заметил, что три критерия диапазонов и условий работают, только если я использую знак «=» в состоянии. Как только я использую

=COUNTIFS(A1:A9;1;B1:B9;"<="&9,B1:B9;">=1") 

возвращает 0. Моя цель состоит в том, чтобы eventualy заменить число в состоянии с командой ВПР, поэтому окончательное уравнение должно быть как-л

=COUNTIFS(A1:A9;1;B1:B9;"<="&VLOOKUP(...),B1:B9;">=VLOOKUP(...)") 

Но " < "и"> "знаки беспорядок с этим. Все еще ищет решение.

+0

Если ваш вопрос требует пояснений, отредактируйте его и не публикуйте в качестве ответа, что нет. – pnuts

-1

Это моя вся строка, если она предлагает любые дополнительные указания.И() команды в конце - и это все еще приводит к 0

=COUNTIFS(INDIRECT(CONCATENATE("baza!$";SUBSTITUTE(ADDRESS(1;MATCH("card_type_id";baza!$A$1:$AAA$1;0);4);"1";"");"$2:$";SUBSTITUTE(ADDRESS(1;MATCH("card_type_id";baza!$A$1:$AAA$1;0);4);"1";"");"$15000"));IF(C6="računska";1;0);INDIRECT(CONCATENATE("baza!$";SUBSTITUTE(ADDRESS(1;MATCH(IF($C$4="CC_SI_klasifikacija";"building_classification_id";0);baza!$A$1:$AAA$1;0);4);"1";"");"$2:$";SUBSTITUTE(ADDRESS(1;MATCH(IF($C$4="CC_SI_klasifikacija";"building_classification_id";0);baza!$A$1:$AAA$1;0);4);"1";"");"$15000"));AND("<="&VLOOKUP($C$5;$K$203:$N$223;4;FALSE);">="&VLOOKUP($C$5;$K$203:$N$223;3;FALSE))) 
0

Может быть, что вы хотите (ред) является:

=COUNTIFS(A:A;1;B:B;">=1";B:B;"<=9") 
Смежные вопросы