Excel vba посчитать количество ячеек со значением
На вкладке формулы Microsoft Excel мы знаем, чтов категории " Дополнительные функции > " существует функция СЧЁТЕСЛИ, которая подсчитывает количество ячеек в диапазоне, соответствующих заданному условию. Условия для этой функции ограничены текстом или числами. Однако с помощью VBA можно создать функцию для подсчета количества ячеек с другими критериями, такими как цвет ячейки.
Дополнительные сведения
С помощью VBA пользовательская функция (UDF) может быть создана и сохранена в файле надстройки, чтобы ее можно было использовать в других книгах и переносить на другие компьютеры.
Создание пользовательской функции
Ниже приведены действия по созданию функции UDF для подсчета цвета ячеек.
Откройте Microsoft Excel, а затем нажмите клавиши ALT + F11, чтобы открыть окно редактора Visual Basic (VBE).
В меню Вставка выберите модуль , чтобы создать модуль. Затем введите следующий скрипт:
Закройте окно VBE, чтобы вернуться в Excel.
Чтобы протестировать UDF, создайте примеры данных, которые содержат столбец ячеек, в различных цветах.
В ячейке D3 Запишите функцию:
В аргументе "range_data" выберите ячейку C2 для C51.
В аргументе "критерии" выберите элемент F1.
Нажмите клавишу ВВОД. Результат в ячейке F2 — 6. Это означает, что число ячеек, затененных синим цветом, равно 6.
Для тестирования можно использовать другие цвета. Замените цвет в ячейке F1 на любой цвет из данных, используя домашнюю > заливку.
Кроме того, можно заархивировать UDF, чтобы функция могла использоваться в другой книге или на другом компьютере. Для этого выполните указанные ниже действия.
Шаг 1: сохранение книги
а. Выберите файл, а затем Сохранить как. (При необходимости нажмите кнопку Обзор ).
б. Выберите надстройку Excel (. xlam) в виде формата и присвойте файлу имя, например каунткколор.
Вы можете сохранить файл надстройки в любом месте. Но для того чтобы она была указана в качестве надстройки в программе Excel, сохраните ее в расположении по умолчанию. В Windows 7 расположением по умолчанию для любой версии Microsoft Excel является: К:\усерс\раддини\аппдата\роаминг\микрософт\аддинс
Шаг 2: Установка надстройки
а. Откройте Microsoft Excel на компьютере, на котором необходимо установить надстройку.
б. Откройте диалоговое окно надстройки, выбрав надстройки Excel для Excel 2013 и более поздних версий на вкладке разработчик . (надстройки в Excel 2010.)
в. В диалоговом окне надстройки нажмите кнопку Обзор.
г. Перейдите к расположению файла, в котором сохраняется файл надстройки (например, на USB-диске или в облачной папке). Выберите файл и нажмите кнопку Открыть.
д. В диалоговом окне надстройки убедитесь, что флажок Надстройка снят. После этого нажмите кнопку ОК.
Набор UDF Color Cell Color установлен и готов к использованию. Вы сможете получить доступ к этой функции в любое время, поместив курсор в любую ячейку листа и введя текст:
Заявление об отказе от контента решений сообщества
КОРПОРАЦИЯ МАЙКРОСОФТ И/ИЛИ ЕЕ ПОСТАВЩИКИ НЕ СОДЕРЖАТ НИКАКИХ ПРЕДСТАВЛЕНИЙ О ПРИГОДНОСТИ, НАДЕЖНОСТИ ИЛИ ТОЧНОСТИ ИНФОРМАЦИИ И СВЯЗАННОЙ С НЕЙ ГРАФИКИ. ВСЯ ТАКАЯ ИНФОРМАЦИЯ И СВЯЗАННАЯ С НЕЙ ГРАФИКА ПРЕДОСТАВЛЯЮТСЯ БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. КОРПОРАЦИЯ МАЙКРОСОФТ И/ИЛИ ЕЕ ПОСТАВЩИКИ НАСТОЯЩИМ СНИМАТЬИ ВСЕ ГАРАНТИИ И УСЛОВИЯ, ОТНОСЯЩИЕСЯ К ЭТОЙ ИНФОРМАЦИИ И СВЯЗАННЫМ ГРАФИЧЕСКИМ ГРАФИКАМ, ВКЛЮЧАЯ ВСЕ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ И УСЛОВИЯ ДЛЯ ОБЕСПЕЧЕНИЯ СООТВЕТСТВИЯ ТРЕБОВАНИЯМ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ, ВОРКМАНЛИКЕ УСИЛИЯ, ДОЛЖНОСТИ И НЕНАРУШЕНИЯ ПРАВ. ВЫ ЯВНО СОГЛАСНЫ, ЧТО В СЛУЧАЕ ОТСУТСТВИЯ У КОРПОРАЦИИ МАЙКРОСОФТ И/ИЛИ ЕЕ ПОСТАВЩИКОВ НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЯМЫЕ, НЕПРЯМЫЕ, ПУНИТИВЕ, СЛУЧАЙНЫЙ, ОСОБЫЙ, КОСВЕННЫЙ УЩЕРБ ИЛИ ЛЮБОЙ УЩЕРБ, ВКЛЮЧАЯ, БЕЗ ОГРАНИЧЕНИЙ, УЩЕРБ ОТ ПОТЕРИ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ПРИБЫЛИ, КОТОРЫЕ СВЯЗАНЫ С ИСПОЛЬЗОВАНИЕМ ИЛИ НЕВОЗМОЖНОСТЬЮ ИСПОЛЬЗОВАТЬ ИНФОРМАЦИЮ И СВЯЗАННУЮ С НИМИ ГРАФИКУ, В ЗАВИСИМОСТИ ОТ ДОГОВОРА, НАРУШЕНИЯМ, НЕБРЕЖНОСТЬЮ, ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТИ ИЛИ ИНЫМ СПОСОБОМ, ДАЖЕ ЕСЛИ У КОРПОРАЦИИ МАЙКРОСОФТ ИЛИ ЕЕ ПОСТАВЩИКА БЫЛО РЕКОМЕНДОВАНО ВЕРОЯТНОСТЬ УЩЕРБА.
Возможно, вы часто использовали функции COUNT и COUNTA в Microsoft Excel. При этом COUNT захватывает все числовые значения в ячейке, COUNTA захватывает все непустые ячейки (включая строки). Можно ли каким-либо образом использовать функцию COUNTA через VBA? Абсолютно да! Вы можете использовать функцию COUNTA через VBA в качестве функции рабочего листа (так как она является частью семейства WorksheetFunction внутри VBA) для подсчета непустых ячеек через заданный диапазон рабочего листа. Преимущество функции COUNTA над COUNT заключается в том, что она может считать все (числа, строки, специальные символы, значения ошибок и т. Д.), Кроме пустых ячеек в данном диапазоне, тогда как COUNT может считать только количество ячеек, состоящих из числовых значений.,
Синтаксис VBA COUNTA:
Синтаксис функции VBA COUNTA показан ниже:
Эта функция может принимать до 30 аргументов за один вызов. Аргумент может состоять из диапазона ячеек или одного значения, которое вводится вручную.
Как использовать функцию COUNTA в Excel VBA?
Ниже приведены различные примеры использования функции COUNTA в Excel с использованием кода VBA.
Вы можете скачать этот шаблон VBA COUNTA Excel здесь - Шаблон VBA COUNTA Excel
Пример № 1 - VBA COUNTA с ручными аргументами в качестве входных данных
Мы увидим, как работает функция COUNTA, когда мы предоставим ей ручные аргументы в VBA. Выполните следующие шаги:
Шаг 1. Вставьте новый модуль в редактор Visual Basic (VBE). Нажмите на вкладку Вставка > выберите модуль.
Шаг 2: Определите новую подпроцедуру во вновь вставленном модуле, которая может содержать ваш макрос.
Код:
Шаг 3: Решите, где мы хотим сохранить выходные данные для функции COUNTA. Я хочу сохранить его в ячейке A2 листа с именем « Пример 1 ». Для этого нам нужно использовать метод Sheets.Range в VBA. Смотрите следующий скриншот для справки:
Код:
Этот фрагмент кода выбирает ячейку A2 в качестве диапазона из листа с именем Пример 1.
Шаг 4: Используйте оператор присваивания, чтобы мы могли присвоить значение ячейке, к которой будет осуществляться доступ, с помощью кода выше. Добавьте объект с именем WorksheetFunction, чтобы мы могли получить доступ к функции COUNTA под ним.
Код:
Шаг 5: Поставьте точку (.) После указанного объекта, и вы увидите список функций, доступных для использования под ним. Выберите COUNTA из списка нескольких доступных функций, который позволяет подсчитывать непустые ячейки или значения.
Код:
Шаг 7: Запустите этот фрагмент кода, нажав F5 или кнопку Run, и просмотрите результат под ячейкой A2 листа « Пример 1 » в активной рабочей книге.
В этом коде мы хотим, чтобы система посчитала входные аргументы и сохранила счет под ячейкой A2 в примере 1.
Пример № 2 - VBA COUNTA для подсчета непустых ячеек в заданном диапазоне
Предположим, у меня есть данные по всему столбцу A, и мне нужно посчитать, что является непустыми строками во всем столбце. Поскольку весь столбец состоит из более чем 10 строк Lac, для меня является идеальным трудоемким переходом и подсчетом каждой непустой ячейки. Смотрите частичный скриншот данных ниже.
Выполните следующие шаги:
Шаг 1: Определите новую подпроцедуру, которая может содержать ваш макрос.
Код:
Шаг 2: Определите две новые переменные в этой подпроцедуре как Range, используя Dim . Одна переменная будет полезна для хранения диапазона столбца входного аргумента, а другие переменные будут полезны для хранения ячейки, в которой мы хотим получить результат в виде подсчитанного числа.
Код:
Здесь rng_1 сохранит диапазон ввода для функции COUNTA. Вывод COUNTA будет сохранен в переменной op_cell .
Шаг 3: Теперь установите диапазон для обеих переменных, используя свойство VBA Set. Это должно быть сделано, потому что мы не можем напрямую присвоить значение переменной, определенной как объект диапазона.
Код:
Здесь переменная rng_1 была установлена в диапазон всего столбца с именем A. op_cell установлена в ячейку B1, поскольку это будет ячейка, которая содержит выходные данные COUNTA.
Шаг 4: Теперь используйте общий оператор присваивания для переменной op_cell, чтобы мы могли сохранить выходные данные в ячейке, для которой установлена эта переменная. Это может рассматриваться как выходная инициализация.
Код:
Шаг 5: Используйте объект WorksheetFunction в правой части оператора присваивания (это будет выражение, которое будет оценено, и значение будет сохранено в ячейке с переменной op_cell), чтобы инициализировать класс, к которому мы можем обращаться, а также использовать Функция COUNTA.
Код:
Шаг 6: Как только вы нажмете точку (.) После объекта WorksheetFunction, вы сможете получить доступ ко всем функциям, доступным в этом классе. Перейдите к функции COUNTA и дважды щелкните по ней, чтобы выбрать.
Шаг 7: Используйте переменную rng_1 в качестве входного аргумента в COUNTA. Следовательно, эта функция в классе объектов функций рабочего листа может подсчитывать непустые ячейки, присутствующие во всем столбце A.
Код:
Шаг 8: Запустите этот код, нажав F5 или кнопку Run, и вы увидите результат, как показано ниже, в ячейке B1 активного листа из рабочей книги.
В ячейке B1 мы можем видеть число как 17. Это означает, что у нас есть 17 непустых ячеек в столбце A рабочего листа. Вы можете вообще не видеть 17 на этом скриншоте, так как он является частичным. Вы могли бы лучше видеть рабочий лист и перемещаться по столбцу А.
То, что нужно запомнить
- Вы можете использовать функцию VBA COUNTA, когда вам нужно посчитать количество непустых ячеек, присутствующих в данном диапазоне.
- COUNTA рассматривает все значения, такие как числа, строки, значения ошибок, логические значения, пустой текст («»). Однако он не учитывает пустую ячейку.
- Пустые ячейки не будут учитываться с помощью функции COUNTA и будут игнорироваться.
- Вы можете использовать аргументы вручную в функции VBA COUNTA, и она все еще работает.
Рекомендуемые статьи
Это руководство к функции VBA COUNTA. Здесь мы обсудим, как использовать функцию COUNTA в Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
Существуют различные способы подсчета в MS Excel. Мы можем использовать встроенные функции, такие как Count, CountIf, CountA, CountBlank, которые есть в Excel. Но эти функции не будут работать должным образом в VBA и также имеют ограничения. Чтобы преодолеть это, у нас есть много функций и команд, а также процесс, с помощью которого мы можем выполнить VBA Counter. Счетчик VBA используется для подсчета ячеек, подсчета содержимого ячеек, а также используется в качестве таймера обратного отсчета, когда мы можем реализовать расписание для измерения любой задачи.
С помощью счетчика VBA мы можем также подсчитать ячейки с их цветовыми показателями. Этот индекс цвета может также использовать цвет шрифта или фона ячейки, а также полужирные значения.
Как создать счетчик в Excel VBA?
Ниже приведены различные примеры создания счетчика в Excel с использованием кода VBA.
Вы можете скачать этот шаблон VBA Counter Excel здесь - Шаблон VBA Counter Excel
Счетчик VBA - Пример № 1
У нас есть некоторые данные случайных чисел в столбце А. Все упомянутые значения являются случайными и не имеют связи, такой как в последовательности или серии. Теперь с помощью процесса счетчика VBA мы посчитаем верхнее и нижнее значения и получим выходные данные в ячейках D2 и D3.
Мы посчитаем число и одновременно раскрасим их согласно цвету текста в ячейках C2 и C3.
Для этого выполните следующие шаги:
Шаг 1. Создайте кнопку «Command», которая доступна на вкладке « Разработчик » в Active X Control меню «Вставка», как показано ниже.
Шаг 2: Теперь создайте кнопку, как показано ниже.
Шаг 3: Щелкните правой кнопкой мыши на созданной кнопке и перейдите к опции Свойства .
Шаг 4: Измените заголовок кнопки, которая по умолчанию называется CommandButton2, на любое желаемое имя. Здесь мы изменили это на « Подсчет клеток по значению ».
Шаг 5: Сделав это, щелкните правой кнопкой мыши на созданной кнопке и выберите опцию View Code, чтобы открыть окно VBA.
Редактор Visual Basic открыт сейчас, и по умолчанию подпрограмма для командной кнопки уже создана.
Код:
Шаг 6: Теперь нам нужно объявить 3 переменные. Объявите первую переменную, в которой мы будем хранить числа, и вторую переменную, в которой мы будем использовать счетчик в качестве целых чисел, как показано ниже. И 3- я переменная будет длинной, чтобы сосчитать числа, хранящиеся в каждой строке.
Код:
Шаг 7: Теперь мы выберем первую ячейку листа, которая является A1 в качестве нашего диапазона. Отсюда мы будем выбирать ячейки, пока в них не появятся номера.
Код:
Шаг 8: Теперь мы откроем и запишем условие в цикле For, если ячейка имеет значение больше 10, тогда цвет шрифта ячейки будет изменен на Желтый, а для значения меньше 10 цвет шрифта ячейки будет изменен на Синий с индексами цвета 44 и 55 соответственно.
Код:
Шаг 9: Теперь, чтобы увидеть вывод значений из ячейки A1 до конца, мы выберем ячейки, как описано выше с помощью приведенного ниже кода.
Код:
Шаг 10: Теперь запустите код, нажав кнопку.
Мы увидим, что ячейки с номерами меньше 10 выделены синим цветом. И тот, что больше 10, выделен желтым цветом.
Счетчик VBA - Пример № 2
В этом примере мы будем использовать VBA Counter, чтобы измерить время, за которое мы можем измерить сделанный нами дубль. Предположим, если нам нужно измерить время, необходимое для выполнения какой-либо задачи, то процесс, который мы увидим здесь, является наилучшим для реализации.
Для этого выполните следующие шаги:
Шаг 1: Создайте 2 вкладки любой фигуры в меню «Вставка» «Фигуры», как показано ниже. Мы выбираем Rectangle: Rounder Corners .
Шаг 2: Создайте 2 кнопки и назовите их «Пуск» и «Сброс», с помощью которых мы запустим таймер и очистим время.
Шаг 3: Теперь перейдите в VBA и откройте модуль из меню «Вставка».
Шаг 4: В этом напишите подкатегорию «Таймер запуска», как показано ниже.
Код:
Шаг 5: Рассмотрим слово для строки Next, например NextRow, где мы выберем рабочий лист, в котором мы хотим реализовать код. Здесь наш лист Sheet2 . И здесь мы посчитаем строки из ячейки +1, которая является ячейкой A2, пока у нас не будет курсора значение файла.
Код:
Шаг 6: Теперь, чтобы перейти к следующей строке, мы будем использовать формат вершины, где 1 в скобках для оси Y.
Код:
Шаг 7: Напишите код для сброса ниже того же кода запуска.
Код:
Шаг 8: Теперь для сброса мы сохраним тот же код, что и Start, но ключевое слово будет изменено на LastRow, и мы удалим +1 только для того, чтобы нам не пришлось попадать в другую строку.
Код:
Шаг 9: Теперь, чтобы очистить данные в последней ячейке столбца A до первой, сначала выберите диапазон ячеек с функцией ClearContents .
Код:
Теперь закройте окно VBA.
Шаг 10: Щелкните правой кнопкой мыши на вкладке « Пуск » и выберите « Назначить макрос» .
Шаг 11: Выберите Начальное субкодирование, которое мы делали выше.
Шаг 12: То же самое можно сделать и для кнопки сброса. Присвойте субкод « Сброс» кнопке « Сброс», нажмите «ОК» и выйдите из режима разработки, чтобы выполнить код.
Шаг 13: Теперь сначала нажмите кнопку « Пуск» . Время начала мы получим как 3:51:33.
Шаг 14: Теперь снова нажмите кнопку «Пуск» 2-3 раза, чтобы получить многократный промежуток времени. Мы увидим, что в каждой итерации есть промежуток в несколько секунд.
Шаг 15: Теперь после этого мы протестируем кнопку « Сброс» . Нажмите на Сброс. Мы увидим, что данные очищены и готовы к следующему кругу отсчета времени.
Плюсы Excel VBA Counter
- Реализовать счетчик отрезков времени очень просто, как мы видели в примере 2.
- VBA Counter имеет много типов реализации, это не ограничивается только примерами, которые мы видели.
То, что нужно запомнить
- Всегда лучше назначать код для любой кнопки, когда мы выполнили 2 или более типов кода в одном процессе.
- Выйдите из режима разработки после назначения и выполнения кода на вкладке «Разработчик».
- Мы также можем создать счетчик времени в реальном времени, где мы сможем увидеть обратный отсчет времени или посмотреть время в реальном времени.
- Сохраните макрос в Macro, включите формат файла Excel, чтобы мы не потеряли наш код.
Рекомендуемые статьи
Это руководство к VBA Counter. Здесь мы обсудим, как создать счетчик VBA в Excel, используя код VBA, а также приведем практические примеры и загружаемый шаблон Excel. Вы также можете посмотреть следующую статью, чтобы узнать больше -
Есть диапазон с данными, в котором некоторые значения повторяются больше одного раза:
Задача - подсчитать количество уникальных (неповторяющихся) значений в диапазоне. В приведенном выше примере, как легко заметить, на самом деле упоминаются всего четыре варианта.
Рассмотрим несколько способов ее решения.
Способ 1. Если нет пустых ячеек
Если вы уверены, что в исходном диапазоне данных нет пустых ячеек, то можно использовать короткую и элегантную формулу массива:
Не забудьте ввести ее как формулу массива, т.е. нажать после ввода формулы не Enter, а сочетание Ctrl+Shift+Enter.
Технически, эта формула пробегает по всем ячейкам массива и вычисляет для каждого элемента количество его вхождений в диапазон с помощью функции СЧЕТЕСЛИ (COUNTIF) . Если представить это в виде дополнительного столбца, то выглядело бы оно так:
Потом вычисляются дроби 1/Число вхождений для каждого элемента и все они суммируются, что и даст нам количество уникальных элементов:
Способ 2. Если есть пустые ячейки
Если в диапазоне встречаются пустые ячейки, то придется немного усовершенствовать формулу, добавив проверку на пустые ячейки (иначе получим ошибку деления на 0 в дроби):
Ссылки по теме
Доброго времени суток, могли бы вы, для новичка, разобрать данную формулу, начиная со знака крышки.=СУММПРОИЗВ(СЧЁТЕСЛИ(A2:A10;A2:A10)^(2*ЕПУСТО(A2:A10)-1))
Для полного диапазона:
Для диапазона с пустыми ячейками:
Я сделал так.
1) В отдельной колонке вывел результат 1/Число вхождений, как на последней картинке в Способ 1
2) На эту колонку наложил функцию =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109; колонка )
В результате, когда применяю фильтр, получаю суммарное количество уникальных значений.
Недостаток один - если фильтр наложить по другим полям, получим неверное отображение количества уникальных значений.
Буквально вчера бился с этой задачей, но вроде бы победил Допустим, что в указанном примере в столбце "B" стоит требуемый нам дополнительный параметр, например "цвет". Тогда формула будет выглядеть следующим образом:
У меня данная формула выдает неправильный результат.
Вот что нашел на соседнем сайте. Эта формула у меня работет.
Тот же вопрос, например мне нужно посчитать кол-во уникальных значений, при том в определенном диапазоне дат.
Например Таблица содержит наименования продуктов и даты их выпуска )) Подскажите.. )8)
Дат в 2014 году было много, машин - тоже.
Заранее спасибо!
Гос.№ авто | № ТТН | Дата |
Т 240РВ | 403826/12 | 01.03.2014 |
Т 240РВ | 403826/12 | 01.03.2014 |
Т 240РВ | 403826/12 | 01.03.2014 |
С 215ВН | 403825/14 | 04.03.2014 |
С 215ВН | 403825/14 | 04.03.2014 |
С 215ВН | 403825/14 | 04.03.2014 |
С 215ВН | 403825/14 | 04.03.2014 |
С 215ВН | 403825/14 | 04.03.2014 |
С 215ВН | 403825/14 | 04.03.2014 |
С 215ВН | 403825/14 | 04.03.2014 |
С 215ВН | 403825/14 | 04.03.2014 |
С 215ВН | 403825/14 | 04.03.2014 |
С 215ВН | 403825/14 | 04.03.2014 |
Т 118ЕЕ | 14/2-2 | 06.03.2014 |
Т 118ЕЕ | 14/2-2 | 06.03.2014 |
Если версия более древняя, то прогнать список сначала через удаление дубликатов ( Данные - Удалить дубликаты ) с галочками Гос.№ и Дата, а потом построить сводную (Даты закинуть в строки, а Гос№ в значения).
Остался момент: в сводной таблице не получается найти кнопку "Уникальные значения". У меня 2013 эксель. Андрей, когда строите сводную, то обязательно установите флажок Добавить в модель данных .
Потом в сводной щелкаете правой по полю значений - Параметры поля - Операции - Число различных элементов.
Гос.№ авто | Дата | Кол-во дат | Кол-во машин |
Т 240РВ | 01.03.2014 | 1 | |
Т 240РВ | 01.03.2014 | ||
Т 240РВ | 01.03.2014 | ||
Т 240РВ | 01.03.2014 | 1 | |
С 215ВН | 04.03.2014 | 2 | |
С 215ВН | 04.03.2014 | ||
С 215ВН | 04.03.2014 | ||
С 215ВН | 04.03.2014 | ||
С 2155ВН | 04.03.2014 | ||
С 215ВН | 04.03.2014 | ||
С 215ВН | 04.03.2014 | ||
С 215ВН | 04.03.2014 | ||
С 215ВН | 04.03.2014 | ||
С 215ВН | 04.03.2014 | 1 | |
Т 118ЕЕ | 06.03.2014 | 3 | |
Т 118ЕЕ | 06.03.2014 | ||
Т 118ЕЕ | 06.03.2014 | ||
О 754ТМ | 06.03.2014 | ||
О 754ТМ | 06.03.2014 | ||
О 754ТМ | 06.03.2014 | ||
О 754ТМ | 06.03.2014 | 1 | |
В 093ЕЕ | 07.03.2014 | 4 | |
В 093ЕЕ | 07.03.2014 | ||
В 093ЕЕ | 07.03.2014 | ||
В 093ЕЕ | 07.03.2014 | ||
В 093ЕЕ | 07.03.2014 | ||
В 093ЕЕ | 07.03.2014 | ||
В 093ЕЕ | 07.03.2014 | ||
В 093ЕЕ | 07.03.2014 | ||
В 093ЕЕ | 07.03.2014 | ||
В 093ЕЕ | 07.03.2014 | 1 | |
<=ЕСЛИ(G4<>"";СЧЁТЕСЛИ(ИНДЕКС(A1:A$2;ПОИСКПОЗ("ххх";G1:G$2)):A1;"<>"&A1:A$2);"" > |
Подскажите пожалуйста, как решить задачку. У меня к сожалению не получается самостоятельно. У меня на 35 тыс. строк (Офис 2013) не работает, выдает "0". При этом, ограничив в этом же массиве до 1500 строк, считает корректно Ребят, а как просчитать значения которые повторяются, чтобы указывалось не общее количество, а порядочное, нп: Имя Подсчет Вместо такого, что выдает формула "счетесли" Имя Подсчет Есть ещё один замечательный способ, как можно посчитать уникальные значения. С помощью функции ЧАСТОТА: И что ещё интереснее, так можно считать уникальные значения при наличии условия. Например, если в столбце B были бы названия магазинов (где, например, есть в наличии эти фрукты), можно написать формулу, считающую количество уникальных фруктов в данном магазине:
В продолжение темы, ещё один вариант подсчёта уникальных значений. Сначала сортируем диапазон A1:A10 по возрастанию (или по убыванию, не важно). Потом вводим такую формулу массива: В этом варианте преимущество в том, что расчёт происходит очень быстро, даже если в исходнике много тысяч строк. С пропуском пустых ячеек и в немассивной форме:=СУММПРОИЗВ((A2:A10<>A1:A9)*(A2:A10<>"")
Должно получиться что-то типа такого:
Проблема в том, что надо искать каждое найденное в одном из двух столбцов по обоим столбцам. Если искать сначала в одном, затем во втором, затем сложить - по некоторым пунктам будет задвоение. Читайте также:
|