Приветствую
Надо как-то в Excel или в LibreOffice настроить автоматическую генерацию уникального числа у каждой строки с заполненными данными.
Есть два столбца — ID (столбец №1) и имя человека (столбец №2). Если добавляю новое имя в столбец №2, то в этой строке в столбце №1 должен появиться уникальный идентификатор, к примеру, цифровой код (цифра). Но есть одна особенность. Допустим, что есть пять записей в файле с айдишниками с 1 по 5. Я удаляю пятую запись, строку целиком или очищаю ее, а затем добавляю новую запись. А вот у же у новой записи по факту шестой, но с учетом ранее удаленной записи, новая запись будет пятой, но ее ID уже не должен быть пятым, но должен быть шестым.
На картинке пояснил тремя блоками:
- добавил записи, добавились автоматом ID
- удалил пятую запись
- добавил новую запись; по факту ее ID должен быть новым, ранее не использовавшимся.
Подскажите пожалуйста реализацию.
-
Вопрос заданболее трёх лет назад
-
5456 просмотров
Пригласить эксперта
Используйте ms access или любую БД. Они для этого и предназначены.
в Excel можно реализовать через макросы, но это такой костыль, что всем костылям костыль:
Добавьте код макроса в код страницы (редактор кода vba->двойной щелчок по нужному листу в менеджере проекта), диапазон ваших значений B1:B1000
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("B1:B1000")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Display a message when one of the designated cells has been
' changed.
' Place your code here.
X = 5
Y = 1
If Cells(Y, X).Value = "" Then Cells(Y, X).Value = 0
On Error GoTo here
If Target.Value <> "" Then
answer = MsgBox("Increment?", vbYesNo + vbQuestion, "Empty Sheet")
If answer = vbYes Then Target.Offset(0, -1).Value = Cells(Y, X).Value + 1
If answer = vbYes Then Cells(Y, X).Value = Cells(Y, X).Value + 1
Else
Target.Offset(0, -1).Value = ""
End If
here:
Debug.Print Err
End If
End Sub
Можно использовать ID на основе текущего времени, например 170911181042, 170911181057 и т.п. Со вставкой такого числа справится простенький макрос типа:
Sub typeID()
mydate = Date
mytime = Time
mydateF = Format(mydate, "yymmdd")
mytimeF = Format(mytime, "HhMmSs")
ID = mydateF & mytimeF
ActiveCell.Value = ID
End Sub
Варианты с GUID:
1. Макрос:
Public Function GetGUID() As String
GetGUID = Mid$(CreateObject("Scriptlet.TypeLib").GUID, 2, 36)
End Function
2. Формула:
=CONCATENATE(DEC2HEX(RANDBETWEEN(0;4294967295);8);"-";DEC2HEX(RANDBETWEEN(0;42949);4);"-";DEC2HEX(RANDBETWEEN(0;42949);4);"-";DEC2HEX(RANDBETWEEN(0;42949);4);"-";DEC2HEX(RANDBETWEEN(0;4294967295);8);DEC2HEX(RANDBETWEEN(0;42949);4))
-
Показать ещё
Загружается…
16 апр. 2023, в 23:43
500 руб./за проект
16 апр. 2023, в 23:03
10000 руб./за проект
16 апр. 2023, в 22:52
7000 руб./за проект
Минуточку внимания
Уникальный идентификатор списка
Пусть у нас есть какой-либо список, к примеру фамилий, и мы хотим каждому элементу присвоить уникальный номер.
Сделать это можно следующим образом.
Первому элементу присваиваем номер 1.
Для второго и последующих составляем формулу пользуясь таким алгоритмом: если элемент встречается в списке первый раз, то присваиваем ему очередной номер, если это не первое появление, то у него идентификатор уже есть в списке выше.
Чтобы проверить первое ли это появление элемента используем комбинацию функций ЕНД(ПОИСКПОЗ()).
Если это первое появление, то ПОИСКПОЗ() вернет #Н/Д, а функция ЕНД(#Н/Д) вернет ИСТИНА и мы смело присваиваем элементу номер МАКС() среди верхних идентификаторов плюс 1.
Если это не первое появление, то ЕНД(ПОИСКПОЗ()) возвращает ЛОЖЬ и мы через функцию ВПР() находим уже имеющийся у элемента идентификатор.
В конечном итоге получаем такую формулу (для второго элемента):
=ЕСЛИ(ЕНД(ПОИСКПОЗ(C3;C$2:C2;0));МАКС(D$2:D2)+1;ВПР(C3;C$2:D2;2;ЛОЖЬ))
Дальше просто копируем эту формулу.
Похожие по тематике посты — еще почитать:
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для iPad Excel для iPhone Excel для планшетов с Android Excel 2010 Excel для Mac 2011 Excel для телефонов с Android Excel Starter 2010 Еще…Меньше
Важно:
Внимание! Неправильное изменение реестра может привести к серьезному повреждению системы и вызвать необходимость ее переустановки. Корпорация Майкрософт не гарантирует успешного устранения неполадок, вызванных ошибками при редактировании реестра. Перед изменением реестра сохраните архивные копии любых важных данных. Новейшие сведения об использовании и защите реестра вашего компьютера см. в справке Microsoft Windows.
В этой статье описаны синтаксис формулы и использование REGISTER.ID
в Microsoft Excel.
Описание
Возвращает регистрационный идентификатор для указанной динамически связываемой библиотеки (DLL) или ранее зарегистрированного программного ресурса. Если DLL или программный ресурс еще не были зарегистрированы, данная функция регистрирует их и возвращает регистрационный идентификатор.
В отличие от функции РЕГИСТРАТОР, функция РЕГИСТРАТОР.ИД может использоваться на листах данных, однако с ее помощью нельзя задать имя функции и имена аргументов.
Дополнительные сведения о библиотеках DLL, кодовых ресурсах и типах данных см. в разделе Использование функций ВЫЗВАТЬ и РЕГИСТРАТОР.
Примечание: Поскольку в Microsoft Excel для Windows и Microsoft Excel для компьютеров Макинтош используются различные типы программных ресурсов, синтаксис функции РЕГИСТРАТОР.ИД предусматривает различные варианты для разных операционных сред.
Синтаксис
РЕГИСТРАТОР.ИД(имя_модуля;процедура;[типы_данных])
Аргументы функции РЕГИСТРАТОР.ИД описаны ниже.
-
Имя_модуля Обязательный. Текст, задающий имя библиотеки DLL, которая содержит функцию в Microsoft Excel для Windows.
-
Процедура — обязательный аргумент. Текст, задающий имя функции из DLL в Microsoft Excel для Windows. Можно также использовать порядковый номер функции из оператора EXPORTS файла определения модуля (DEF). Порядковый номер не должен быть задан в виде текста.
-
Типы_данных Необязательный. Текст, задающий тип данных возвращаемого значения и типы данных всех аргументов для DLL. Первая буква аргумента «типы_данных» задает тип возвращаемого значения. Если функция или кодовый ресурс уже зарегистрированы, этот аргумент можно опустить.
Примеры
Следующая формула регистрирует функцию GetTickCount из 32-разрядного Microsoft Windows и возвращает регистрационный идентификатор:
РЕГИСТРАТОР.ИД(«Kernel32»; «GetTickCount»; «J!»)
Предположим, что функция GetTickCount уже зарегистрирована на другом листе с использованием предыдущей формулы. В этом случае регистрационный идентификатор для GetTickCount будет возвращен следующей формулой:
РЕГИСТРАТОР.ИД(«Kernel32», «GetTickCount»)
Нужна дополнительная помощь?
excel_pl Пользователь Сообщений: 206 |
Как сделать, чтобы в ячейке формировался уникальный идентификатор для каждой строки (записи)? Как сделать, чтобы уникальный идентификатор для каждой строки (записи) не изменялся при удалении или добавлении записей? |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#2 09.03.2017 20:59:50 Доброе время суток
Взято здесь и есть варианты. . |
||
Nik021 Пользователь Сообщений: 63 |
Здравствуйте. Самое простое это прописать id при помощи любой формулы, но в этом случае оно изменится при изменении самой записи, бороться с этим можно при помощи макроса, который бы записывал id, как текст. Ну либо сделать простую формулу, результат которой не зависит от записи (2 вариант) |
AAF Пользователь Сообщений: 1000 |
#4 09.03.2017 21:19:28 Иногда так удобно…
|
||
БМВ Модератор Сообщений: 21385 Excel 2013, 2016 |
AAF, тут есть подвох получить не уникальные значения если обработку делать пакетом. При разовом или с таймаутом применении — ОК. По вопросам из тем форума, личку не читаю. |
AAF Пользователь Сообщений: 1000 |
БМВ, Нет, там подкидывается по единице, если не сменилось… |
БМВ Модератор Сообщений: 21385 Excel 2013, 2016 |
AAF, старосnь+ 14″+HD = не посмотрел внимательно :-). Sorry По вопросам из тем форума, личку не читаю. |
pharmaprofi Пользователь Сообщений: 234 pharmaprofi |
А я такие люблю: GUID Гарантируется уникальность Id. Правда в excel такой Id не в один клик генерируется… p/s увидел, что Андрей VG про него и пишет Изменено: pharmaprofi — 09.03.2017 22:20:33 |
excel_pl Пользователь Сообщений: 206 |
#9 09.03.2017 22:29:15
Использовал ваш вариант… Так и должно быть или можно, что-то сделать? |
||
AAF Пользователь Сообщений: 1000 |
Если Вы используете как функцию на листе, будет обновляться, а если прописывать .Value в ячейку, то все уже, это навечно. Изменено: AAF — 09.03.2017 22:34:38 |
excel_pl Пользователь Сообщений: 206 |
#11 09.03.2017 22:39:34
Я слабо разбираюсь в VBA. |
||
AAF Пользователь Сообщений: 1000 |
#12 09.03.2017 22:57:18 excel_pl, вот это вставить в модуль листа:
А функцию в простой модуль:
Прикрепленные файлы
Изменено: AAF — 09.03.2017 23:04:27 |
||||
excel_pl Пользователь Сообщений: 206 |
#13 09.03.2017 23:01:48
не пашет.. |
||
AAF Пользователь Сообщений: 1000 |
excel_pl, Я файлик добавил в сообщение и исправил его, а то не тот сначала кинул… |
excel_pl Пользователь Сообщений: 206 |
#15 09.03.2017 23:09:29 [URL=AAF написал:Я файлик добавил в сообщение и исправил его, а то не тот сначала кинул…Что-то не работает… или я не туда жмусм. скрин http://prntscr.com/ehzw6o ]
Что-то не работает… или я не туда жму Изменено: excel_pl — 14.03.2017 02:49:36 |
||
AAF Пользователь Сообщений: 1000 |
файлик называется так: уник идент id_00 (1).XLSM |
excel_pl Пользователь Сообщений: 206 |
Кажись заработал… |
AAF Пользователь Сообщений: 1000 |
#18 10.03.2017 08:57:56 В коде есть такие строчки:
иначе говоря:
|
||||
erlankoke Пользователь Сообщений: 3 |
Можно генерировать с помощью genpas.narod.ru и удалить дубликаты. или попробовать формулой с привязкой к строек в связке с генерированным числом и числом из ячейки ƒ=GetNumbers([@zp])+СТРОКА()*СЛУЧМЕЖДУ(5000;9000) |
excel_pl Пользователь Сообщений: 206 |
Не могли бы вы проверить правильно ли я делаю? http://prntscr.com/ei50a9 |
excel_pl Пользователь Сообщений: 206 |
#21 10.03.2017 09:22:07
Не могли бы вы показать на примере моего файла? |
||
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#22 10.03.2017 10:38:34 Доброе время суток.
И что случиться при сортировке или удалении? |
||
AAF Пользователь Сообщений: 1000 |
#23 10.03.2017 15:06:21 excel_pl, да, имелось ввиду, что id предполагает первый столбец региона (таблицы)
Замените предыдущий код на этот… Изменено: AAF — 10.03.2017 15:23:54 |
||
Jack Famous Пользователь Сообщений: 10852 OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome |
#24 03.10.2018 10:27:26 Дополню немного изменённым вариантом из комментариев по ссылке Андрея из #2:
дело в том, что, после одного из обновлений, на строке CreateObject(«Scriptlet.TypeLib») возникает ошибка (подробности тут ). Чтобы не писать функцию с декларированием библиотек (типа Declare Function CoCreateGuid Lib «ole32» (ByRef GUID As Byte) As Long) и был выбран код выше, как полноценная замена. Знаю, что тема старая, но мне была полезна, да и нечастый вопрос, собственно Изменено: Jack Famous — 03.10.2018 10:44:00 Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄ |
||
Jack Famous Пользователь Сообщений: 10852 OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome |
#25 05.10.2018 12:25:06 Снова вернулся к теме, т.к. вариант из предыдущего поста, как оказывается, генерит большое количество дублей уже на тысячах ключей, если диапазон заполняется не одновременно, а в разное время. Вариант от AAF такое исключает (если не править настройки даты/времени на ПК), т.к. привязан к постоянному счётчику. К тому же, возможность узнать дату и время получения ключа также может пригодиться Добавил префикс для избавления от «длинных» чисел…
Изменено: Jack Famous — 05.10.2018 12:27:02 Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄ |
||
Содержание
- Разные значения против уникальных значений
- Подсчет разных значений в сводной таблице Excel
- Добавление вспомогательного столбца в набор данных
- Подсчет количества определенного значения ячейки в Excel при условии
- Статистический анализ посещаемости с помощью функции СЧЁТЕСЛИ в Excel
- Способ 1: счетчик на строке состояния
- Способ 2: функция СЧЁТЗ
- Способ 3: функция СЧЁТ
- Как посчитать количество пустых и непустых ячеек?
- Нулевые строки.
- СЧЕТЕСЛИ с несколькими условиями.
- Количество чисел в диапазоне
- Количество ячеек с несколькими условиями ИЛИ.
- Считаем числа и значения
- Ставим экселю условия
- Разбираемся в критериях
- Задачи на логику
- Средние значения и множественные формулы
- Считаем данные в массиве с пустыми ячейками
- Счёт текстовых строк по условию
Разные значения против уникальных значений
Кажется, что это одно и то же, но это не так.
Ниже приведен пример со списком имен, в столбцах отдельно выделены уникальные и разные имена.
Уникальные значения / имена — это те, которые встречаются только один раз. Это означает, что все имена, которые повторяются и имеют дубликаты, не являются уникальными. Уникальные имена перечислены в столбце D вышеупомянутого набора данных.
Разными значениями / именами являются те, которые встречаются хотя бы один раз в наборе данных. Поэтому, если имя появляется три раза, оно все равно считается разным значением. Такой список можно получить путем удаления повторяющихся значений / имен и сохранения всех разных значений. Разные имена перечислены в столбце C приведенного выше набора данных.
В большинстве случаев, когда люди говорят, что хотят получить уникальные значения в сводной таблице, когда на самом деле имеют в виду разные.
Предположим, у вас есть данные о продажах:
С этим набором данных вам нужно найти ответ на следующие вопросы:
- Сколько сотрудников в каждом регионе (а это не что иное, как количество разных сотрудников в каждом регионе)?
- Сколько сотрудников продали принтер в 2019 году?
Находить сумму сводные таблицы могут мгновенно, чтобы получить количество разных значений, вам нужно будет сделать еще несколько шагов.
Если вы используете Excel 2013 или более поздние версии, в сводной таблице есть встроенная функция, которая быстро подсчитывает количество.
А если вы используете Excel 2010 или ранние версии, вам придется изменить исходные данные, добавив вспомогательный столбец.
В этой статье рассматриваются следующие методы:
- Добавление вспомогательного столбца в исходный набор данных для подсчета разных значений (работает во всех версиях).
- Добавление данных в модель данных и использование параметра «Число различных элементов» (доступно в Excel 2013 и последующих версиях).
Существует третий метод, он называет метод сводной таблицы в сводной таблице.
Добавление вспомогательного столбца в набор данных
Примечание. Если вы используете Excel 2013 и более поздние версии, пропустите этот метод и перейдите к следующему (вам доступна встроенная функция).
Это простой способ подсчета разных значений в сводной таблице, поскольку вам нужно только добавить вспомогательный столбец к исходным данным. После добавления вспомогательного столбца вы легко ответите на вопросы задачи.
Хотя это простой обходной путь, у него есть некоторые недостатки (которые будут рассмотрены далее).
Позвольте мне сначала показать вам, как добавить вспомогательный столбец и посчитать разные значения.
Предположим, у меня есть набор данных, как показано ниже:
Добавьте следующую формулу в столбец F и примените ее ко всем ячейкам, в которых есть данные в соседних столбцах.
= ЕСЛИ (СЧЁТЕСЛИМН ($C$2:C2; C2; $B$2:B2; B2) > 1;0;1)
Приведенная выше формула использует функцию СЧЁТЕСЛИМН для подсчета количества раз, когда имя появляется в данном регионе. Также обратите внимание на диапазоны критериев: $C$2:C2 и $B$2:B2. Это означает, что они продолжают расширяться, когда вы идете вниз по столбцу.
Например, в ячейке F2 диапазон критериев составляет $C$2:C2 и $B$2:B2, а в ячейке F3 эти диапазоны расширяются до $C$3:C3 и $B$3:B3.
Это гарантирует, что функция СЧЁТЕСЛИМН считает первый экземпляр имени как 1, второй экземпляр имени как 2 и так далее.
Поскольку мы хотим получить только разные имена, используется функция ЕСЛИ, которая возвращает 1, когда имя появляется для региона в первый раз, и возвращает 0, когда оно появляется снова. Это гарантирует, что учитываются только разные имена, а не повторы.
Ниже показано, как будет выглядеть таблица, когда вы добавите вспомогательный столбец.
Теперь, когда мы изменили исходные данные, мы можем использовать их для создания сводной таблицы. Подключив вспомогательный столбец, получим количество различных сотрудников в каждом регионе.
Ниже приведены шаги, как сделать это:
- Выберите любую ячейку в таблице.
- Нажмите вкладку «Вставка».
- Нажмите на кнопку Сводная таблица.
- В диалоговом окне «Создание сводной таблицы» убедитесь, что таблица / диапазон указаны правильно (и включает вспомогательный столбец), и выбран «На новый лист» в качестве места размещения.
- Нажмите ОК.
Вышеуказанные шаги вставят новый лист со сводной таблицей.
Перетащите поле «Регион» в область «Строки» и поле «Помощник» в область «Значения».
Вы получите вот такую сводную таблицу:
Теперь вы можете изменить заголовок столбца с «Сумма по полю Помощник» на «Количество сотрудников».
Подсчет количества определенного значения ячейки в Excel при условии
Пример 2. По итогам сдачи экзаменов необходимо составить таблицу, в которой содержатся данные о количестве студентов, сдавших предмет на 5, 4, 3 балла соответственно, а также тех, кто не сдал предмет.
Вид исходной таблицы:
Предварительно выделим ячейки E2:E5, введем приведенную ниже формулу:
=СЧЁТЕСЛИ(B3:B19;D2:D5)
Описание аргументов:
- B3:B19 – диапазон ячеек с оценками за экзамен;
- D2:D5 – диапазон ячеек, содержащих критерии для подсчета числа совпадений.
В результате получим таблицу:
Статистический анализ посещаемости с помощью функции СЧЁТЕСЛИ в Excel
Пример 3. В таблице Excel хранятся данные о просмотрах страниц сайта за день пользователями. Определить число пользователей сайта за день, а также сколько раз за день на сайт заходили пользователи с логинами default и user_1.
Вид исходной таблицы:
Поскольку каждый пользователь имеет свой уникальный идентификатор в базе данных (Id), выполним расчет числа пользователей сайта за день по следующей формуле массива и для ее вычислений нажмем комбинацию клавиш Ctrl+Shift+Enter:
Выражение 1/СЧЁТЕСЛИ(A3:A20;A3:A20) возвращает массив дробных чисел 1/количество_вхождений, например, для пользователя с ником sam это значение равно 0,25 (4 вхождения). Общая сумма таких значений, вычисляемая функцией СУММ, соответствует количеству уникальных вхождений, то есть, числу пользователей на сайте. Полученное значение:
Для определения количества просмотренных страниц пользователями default и user_1 запишем формулу:
В результате расчета получим:
Способ 1: счетчик на строке состояния
Самый простой способ подсчитать ячейки, содержащие данные – это воспользоваться информацией со счетчика, который размещен в правой части строки состояния слева от кнопок переключения режимов просмотра в Excel. Пока на листе выделен диапазон, в котором все элементы пустые или лишь один содержит какое-то значение, данный индикатор скрыт. Счетчик автоматически появляется тогда, когда выделено две или более не пустых ячеек, и сразу показывает их число после слова «Количество».
Но, хотя по умолчанию этот счетчик включен, и только ждет того, когда пользователь выделит определенные элементы, в некоторых случаях он может быть отключен вручную. Тогда актуальным становится вопрос о его включении. Для этого нужно кликнуть правой кнопкой мыши по строке состояния и в открывшемся списке установить галочку напротив пункта «Количество». После этого счетчик опять будет отображаться.
Способ 2: функция СЧЁТЗ
Подсчитать количество заполненных ячеек можно при помощи функции СЧЁТЗ. Она отличается от предыдущего способа тем, что позволяет зафиксировать подсчет определенного диапазона в отдельной ячейке. То есть, для просмотра информации по нему область не нужно будет постоянно выделять.
- Выделяем область, в которую будет выводиться результат подсчета. Кликаем по значку «Вставить функцию».
- Открывается окно Мастера функций. Ищем в представленном списке элемент «СЧЁТЗ». После того, как это наименование выделено, жмем на кнопку «OK».
- Запускается окно аргументов. Аргументами этой функции являются ссылки на ячейки. Ссылку на диапазон можно прописать вручную, но лучше установить курсор в поле «Значение1», куда нужно ввести данные, и выделить соответствующую область на листе. Если нужно произвести подсчет заполненных ячеек в нескольких удаленных друг от друга диапазонах, то координаты второго, третьего и последующего диапазона нужно вводить в поля под названием «Значение2», «Значение3» и т.д. Когда все данные введены. Жмем на кнопку «OK».
- Данную функцию также можно ввести вручную в ячейку или строку формул, придерживаясь следующего синтаксиса:
=СЧЁТЗ(значение1;значение2;…)
- После того, как формула введена, программа в заранее выделенной области показывает результат подсчета заполненных ячеек указанного диапазона.
Способ 3: функция СЧЁТ
Кроме того, для подсчета заполненных ячеек в Экселе существует ещё функция счет. В отличие от предыдущей формулы, она считает только ячейки заполненные числовыми данными.
- Как и в предыдущем случае, выделяем ячейку, куда будут выводиться данные и таким же способом запускаем Мастер функций. В нём выбираем оператора с наименованием «СЧЁТ». Жмем на кнопку «OK».
- Запускается окно аргументов. Аргументы те же самые, что и при использовании предыдущего способа. В их роли выступают ссылки на ячейки. Вставляем координаты диапазонов на листе, в которых нужно подсчитать количество заполненных ячеек числовыми данными. Жмем кнопку «OK».
Для ручного введения формулы придерживаемся следующего синтаксиса:
=СЧЁТ(значение1;значение2;…)
- После этого в области, в которой находится формула, отобразится количество ячеек, заполненных числовыми данными.
Как посчитать количество пустых и непустых ячеек?
Посмотрим, как можно применить функцию СЧЕТЕСЛИ в Excel для подсчета количества пустых или непустых ячеек в указанном диапазоне.
Непустые.
В некоторых руководствах по работе с СЧЕТЕСЛИ вы можете встретить предложения для подсчета непустых ячеек, подобные этому:
СЧЕТЕСЛИ(диапазон;”*”)
Но дело в том, что приведенное выше выражение подсчитывает только клетки, содержащие любые текстовые значения. А это означает, что те из них, что включают даты и числа, будут обрабатываться как пустые (игнорироваться) и не войдут в общий итог!
Если вам нужно универсальное решение для подсчета всех непустых ячеек в указанном диапазоне, то введите:
СЧЕТЕСЛИ(диапазон;”<>” & “”)
Это корректно работает со всеми типами значений – текстом, датами и числами – как вы можете видеть на рисунке ниже.
Также непустые ячейки в диапазоне можно подсчитать:
=СЧЁТЗ(E2:E22).
Пустые.
Если вы хотите сосчитать пустые позиции в определенном диапазоне, вы должны придерживаться того же подхода – используйте в условиях символ подстановки для текстовых значений и параметр “” для подсчета всех пустых ячеек.
Считаем клетки, не содержащие текст:
СЧЕТЕСЛИ( диапазон; “<>” & “*”)
Поскольку звездочка (*) соответствует любой последовательности текстовых символов, в расчет принимаются клетки, не равные *, т.е. не содержащие текста в указанном диапазоне.
Для подсчета пустых клеток (все типы значений):
=СЧЁТЕСЛИ(E2:E22;””)
Конечно, для таких случаев есть и специальная функция
=СЧИТАТЬПУСТОТЫ(E2:E22)
Но не все знают о ее существовании. Но вы теперь в курсе …
Нулевые строки.
Также имейте в виду, что СЧЕТЕСЛИ и СЧИТАТЬПУСТОТЫ считают ячейки с пустыми строками, которые только на первый взгляд выглядят пустыми.
Что такое эти пустые строки? Они также часто возникают при импорте данных из других программ (например, 1С). Внешне в них ничего нет, но на самом деле это не так. Если попробовать найти такие “пустышки” (F5 -Выделить – Пустые ячейки) – они не определяются. Но фильтр данных при этом их видит как пустые и фильтрует как пустые.
Дело в том, что существует такое понятие, как «строка нулевой длины» (или «нулевая строка»). Нулевая строка возникает, когда программе нужно вставить какое-то значение, а вставить нечего.
Проблемы начинаются тогда, когда вы пытаетесь с ней произвести какие-то математические вычисления (вычитание, деление, умножение и т.д.). Получите сообщение об ошибке #ЗНАЧ!. При этом функции СУММ и СЧЕТ их игнорируют, как будто там находится текст. А внешне там его нет.
И самое интересное – если указать на нее мышкой и нажать Delete (или вкладка Главная – Редактирование – Очистить содержимое) – то она становится действительно пустой, и с ней начинают работать формулы и другие функции Excel без всяких ошибок.
Если вы не хотите рассматривать их как пустые, используйте для подсчета реально пустых клеток следующее выражение:
=ЧСТРОК(E2:E22)*ЧИСЛСТОЛБ(E2:E22)-СЧЁТЕСЛИ(E2:E22;”<>”&””)
Откуда могут появиться нулевые строки в ячейках? Здесь может быть несколько вариантов:
- Он есть там изначально, потому что именно так настроена выгрузка и создание файлов в сторонней программе (вроде 1С). В некоторых случаях такие выгрузки настроены таким образом, что как таковых пустых ячеек нет – они просто заполняются строкой нулевой длины.
- Была создана формула, результатом которой стал текст нулевой длины. Самый простой случай:
=ЕСЛИ(Е1=1;10;””)
В итоге, если в Е1 записано что угодно, отличное от 1, программа вернет строку нулевой длины. И если впоследствии формулу заменять значением (Специальная вставка – Значения), то получим нашу псевдо-пустую позицию.
Если вы проверяете какие-то условия при помощи функции ЕСЛИ и в дальнейшем планируете производить с результатами математические действия, то лучше вместо “” ставьте 0. Тогда проблем не будет. Нули всегда можно заменить или скрыть: Файл -Параметры -Дополнительно – Показывать нули в позициях, которые содержат нулевые значения.
СЧЕТЕСЛИ с несколькими условиями.
На самом деле функция Эксель СЧЕТЕСЛИ не предназначена для расчета количества ячеек по нескольким условиям. В большинстве случаев я рекомендую использовать его множественный аналог – функцию СЧЕТЕСЛИМН. Она как раз и предназначена для вычисления количества ячеек, которые соответствуют двум или более условиям (логика И). Однако, некоторые задачи могут быть решены путем объединения двух или более функций СЧЕТЕСЛИ в одно выражение.
Количество чисел в диапазоне
Одним из наиболее распространенных применений функции СЧЕТЕСЛИ с двумя критериями является определение количества чисел в определенном интервале, т.е. меньше X, но больше Y.
Например, вы можете использовать для вычисления ячеек в диапазоне B2: B9, где значение больше 5 и меньше или равно 15:
=СЧЁТЕСЛИ(B2:B11;”>5″)-СЧЁТЕСЛИ(B2:B11;”>15″)
Количество ячеек с несколькими условиями ИЛИ.
Когда вы хотите найти количество нескольких различных элементов в диапазоне, добавьте 2 или более функций СЧЕТЕСЛИ в выражение. Предположим, у вас есть список покупок, и вы хотите узнать, сколько в нем безалкогольных напитков.
Сделаем это:
=СЧЁТЕСЛИ(A4:A13;”Лимонад”)+СЧЁТЕСЛИ(A2:A11;”*сок”)
Обратите внимание, что мы включили подстановочный знак (*) во второй критерий. Он используется для вычисления количества всех видов сока в списке.
Как вы понимаете, сюда можно добавить и больше условий.
Считаем числа и значения
Три полезных вещи, помогающих в работе с программой.
- Сколько чисел находится в массиве, можно рассчитать с помощью формулы СЧЁТ(значение1;значение2;…). Она учитывает только те элементы, которые включают в себя цифры.То есть если в некоторых из них будет прописан текст, они будут пропущены, в то время как даты и время берутся во внимание. В данной ситуации не обязательно задавать параметры по порядку: можно написать, к примеру, =СЧЁТ(А1:С3;В4:С7;…).
- Другая статистическая функция — СЧЕТЗ — подсчитает вам непустые клетки в диапазоне, то есть те, которые содержат буквы, числа, даты, время и даже логические значения ЛОЖЬ и ИСТИНА.
- Обратное действие выполняет формула, показывающая численность незаполненных секций — СЧИТАТЬПУСТОТЫ(массив). Она применяется только к непрерывным выделенным областям.
Ставим экселю условия
Когда нужно подсчитать элементы с определённым значением, то есть соответствующие какому-то формату, применяется функция СЧЁТЕСЛИ(массив;критерий). Чтобы вам было понятнее, следует разобраться в терминах.
Массивом называется диапазон элементов, среди которых ведется учет. Это может быть только прямоугольная непрерывная совокупность смежных клеток. Критерием считается как раз таки то условие, согласно которому выполняется отбор. Если оно содержит текст или цифры со знаками сравнения, мы его берем в кавычки. Когда условие приравнивается просто к числу, кавычки не нужны.
Разбираемся в критериях
Примеры критериев:
- «>0» — считаются ячейки с числами от нуля и выше;
- «Товар» — подсчитываются секции, содержащие это слово;
- 15 — вы получаете сумму элементов с данной цифрой.
Для большей ясности приведу развернутый пример.
Чтобы посчитать ячейки в зоне от А1 до С2, величина которых больше прописанной в А5, в строке формул необходимо написать =СЧЕТЕСЛИ(А1:С2;«>»&А5).
Задачи на логику
Хотите задать экселю логические параметры? Воспользуйтесь групповыми символами * и ?. Первый будет обозначать любое количество произвольных символов, а второй — только один.
К примеру, вам нужно знать, сколько имеет электронная таблица клеток с буквой Т без учета регистра. Задаем комбинацию =СЧЕТЕСЛИ(А1:D6;«Т*»). Другой пример: хотите знать численность ячеек, содержащих только 3 символа (любых) в том же диапазоне. Тогда пишем =СЧЕТЕСЛИ(А1:D6;«???»).
Средние значения и множественные формулы
В качестве условия может быть задана даже формула. Желаете узнать, сколько у вас секций, содержимое которых превышают среднее в определенном диапазоне? Тогда вам следует записать в строке формул следующую комбинацию =СЧЕТЕСЛИ(А1:Е4;«>»&СРЗНАЧ(А1:Е4)).
Если вам нужно сосчитать количество заполненных ячеек по двум и более параметрам, воспользуйтесь функцией СЧЕТЕСЛИМН. К примеру, вы ищите секций с данными больше 10, но меньше 70. Вы пишете =СЧЕТЕСЛИМН(А1:Е4;«>10»;А1:Е4;«<70»).
Помимо этого, у вас есть возможность задать условия И/ИЛИ. Только во втором случае придется использовать сразу несколько правил. Смотрим: вам необходимо найти клетки, в которых слова начинаются с буквы В или Р — пишете =СЧЕТЕСЛИ(А1:Е4;«В*»)+ СЧЕТЕСЛИ(А1:Е4;«Р*»).
Может быть, на первый взгляд вышеизложенные инструкции кажутся вам не совсем понятными. Но применив их несколько раз на практике, вы убедитесь, что они намного упрощают и совершенствуют работу с программой Excel.
Считаем данные в массиве с пустыми ячейками
Давайте посчитаем количество уникальных значений Excel, когда в исходной выборке есть пустые клетки. Для этого сделаем лишь одну небольшую правку в формуле:
=СУММПРОИЗВ(1/СЧЁТЕСЛИ(диапазондиапазон &»»))
Легко заметить, что результат получился на 1 больше, чем в прошлом примере. Это потому, что формула посчитала и пустую ячейку, как уникальные данные. Чтобы этого не было, еще доработаем функцию:
=СУММПРОИЗВ((диапазон<>””)/СЧЁТЕСЛИ(диапазондиапазон &»»))
Теперь получили правильный результат без учёта пустот.
Следующие две формулы выглядят сложнее, но работают быстрее. Используйте их, если программа подвисает при выполнении.
Счёт текстовых строк по условию
Похожее задание, но теперь нужно считать, сколько менеджеров продавали товар с кодом 1001.
А формула такая:
=СУММ(—(ЧАСТОТА(ЕСЛИ(диапазон<>»»;ЕСЛИ(условиедиапазон диапазондиапазон)-СТРОКА(диапазон.первая ячейка)+1)>0))
Вот так можно организовать подсчет одинаковых значений в столбце Excel в самых распространенных случаях. Формулы универсальные, скопируйте их, вставьте свои данные и получите результат.
Источники
- https://excelpedia.ru/bez-rubriki/podschet-raznih-znachenii-v-svodnoi-tablice-excel
- https://exceltable.com/funkcii-excel/primery-funkcii-schetesli
- https://lumpics.ru/how-count-number-of-filled-cells-in-excel/
- https://mister-office.ru/funktsii-excel/function-countif.html
- https://profi-user.ru/podschet-yacheek/
- https://officelegko.com/2019/09/19/podschet-unikalnyh-znachenij-v-excel/
Предположим, что в столбце есть повторяющиеся данные, теперь вы хотите добавить уникальный идентификационный номер для этих повторяющихся строк, как показано на скриншоте ниже. Есть ли у вас какие-нибудь хорошие способы их добавления? Здесь я представляю формулу, которая поможет вам быстро справиться с этой задачей в Excel.
Добавление столбца уникального идентификатора для повторяющихся строк с помощью формулы
Добавление отсутствующего идентификационного номера с помощью Kutools for Excel
Добавление столбца уникального идентификатора для повторяющихся строк с помощью формулы
Чтобы добавить уникальный идентификационный номер для повторяющихся данных, выполните следующие действия:
1. введите 1 в ячейку рядом с первыми данными, в которые вы хотите добавить идентификационный номер.
2. Затем в ячейке под ним введите эту формулу =IF(B1=B2,A1,A1+1), нажмите Enter Чтобы получить первый результат, перетащите дескриптор заполнения вниз, пока не появятся последние данные.
В формуле B1, B2 — первые две ячейки в столбце повторяющихся данных, A1 — первая ячейка идентификатора.
Добавление отсутствующего идентификационного номера с помощью Kutools for Excel
Если у вас есть список идентификационных номеров, который включает некоторые недостающие номера, как показано на скриншоте ниже, вы можете подать заявку. Kutools for ExcelАвтора Find Missing Sequence Number утилита для быстрого поиска и добавления недостающего числа.
После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)
1. Выберите идентификационные номера, в которые вы хотите вставить отсутствующие номера, нажмите Кутулс > Insert > Find Missing Sequence Number.
2. Во всплывающем диалоговом окне вы можете выбрать один вариант, чтобы добавить или выделить отсутствующие числа по мере необходимости.
3. Нажмите Ok. Появится диалоговое окно с напоминанием о количестве недостающих данных, закройте его. Затем все отсутствующие числа были добавлены или выделены в столбце или рядом с ним.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (1)
Оценок пока нет. Оцените первым!
Функция СЧЁТЕСЛИ в Excel используется для подсчета количества ячеек в рассматриваемом диапазоне, содержащиеся данные в которых соответствуют критерию, переданному в качестве второго аргумента данной функции, и возвращает соответствующее числовое значение.
Функция СЧЁТЕСЛИ может быть использована для анализа числовых значений, текстовых строк, дат и данных другого типа. С ее помощью можно определить количество неповторяющихся значений в диапазоне ячеек, а также число ячеек с данными, которые совпадают с указанным критерием лишь частично. Например, таблица Excel содержит столбец с ФИО клиентов. Для определения количества клиентов-однофамильцев с фамилией Иванов можно ввести функцию =СЧЁТЕСЛИ(A1:A300;”*Иванов*”). Символ «*» указывает на любое количество любых символов до и после подстроки «Иванов».
Примеры использования функции СЧЁТЕСЛИ в Excel
Пример 1. В таблице Excel содержатся данные о продажах товаров в магазине бытовой техники за день. Определить, какую часть от проданной продукции составляет техника фирмы Samsung.
Вид исходной таблицы данных:
Для расчета используем формулу:
=СЧЁТЕСЛИ(C3:C17;»Samsung»)/A17
Описание аргументов:
- C3:C17 – диапазон ячеек, содержащих названия фирм проданной техники;
- «Samsung» – критерий поиска (точное совпадение);
- A17 – ячейка, хранящая номер последней продажи, соответствующий общему числу продаж.
Результат расчета:
Доля проданной продукции техники фирмы Samsung в процентах составляет – 40%.
Подсчет количества определенного значения ячейки в Excel при условии
Пример 2. По итогам сдачи экзаменов необходимо составить таблицу, в которой содержатся данные о количестве студентов, сдавших предмет на 5, 4, 3 балла соответственно, а также тех, кто не сдал предмет.
Вид исходной таблицы:
Предварительно выделим ячейки E2:E5, введем приведенную ниже формулу:
=СЧЁТЕСЛИ(B3:B19;D2:D5)
Описание аргументов:
- B3:B19 – диапазон ячеек с оценками за экзамен;
- D2:D5 – диапазон ячеек, содержащих критерии для подсчета числа совпадений.
В результате получим таблицу:
Статистический анализ посещаемости с помощью функции СЧЁТЕСЛИ в Excel
Пример 3. В таблице Excel хранятся данные о просмотрах страниц сайта за день пользователями. Определить число пользователей сайта за день, а также сколько раз за день на сайт заходили пользователи с логинами default и user_1.
Вид исходной таблицы:
Поскольку каждый пользователь имеет свой уникальный идентификатор в базе данных (Id), выполним расчет числа пользователей сайта за день по следующей формуле массива и для ее вычислений нажмем комбинацию клавиш Ctrl+Shift+Enter:
Выражение 1/СЧЁТЕСЛИ(A3:A20;A3:A20) возвращает массив дробных чисел 1/количество_вхождений, например, для пользователя с ником sam это значение равно 0,25 (4 вхождения). Общая сумма таких значений, вычисляемая функцией СУММ, соответствует количеству уникальных вхождений, то есть, числу пользователей на сайте. Полученное значение:
Для определения количества просмотренных страниц пользователями default и user_1 запишем формулу:
В результате расчета получим:
Особенности использования функции СЧЁТЕСЛИ в Excel
Функция имеет следующую синтаксическую запись:
=СЧЕТЕСЛИ(диапазон; критерий)
Описание аргументов:
- диапазон – обязательный аргумент, принимающий ссылку на одну либо несколько ячеек, в которых требуется определить число совпадений с указанным критерием.
- критерий – условие, согласно которому выполняется расчет количества совпадений в рассматриваемом диапазоне. Условием могут являться логическое выражение, числовое значение, текстовая строка, значение типа Дата, ссылка на ячейку.
Примечания:
- При подсчете числа вхождений в диапазон в соответствии с двумя различными условиями, диапазон ячеек можно рассматривать как множество, содержащее два и более непересекающихся подмножеств. Например, в таблице «Мебель» необходимо найти количество столов и стульев. Для вычислений используем выражение =СЧЁТЕСЛИ(B3:B200;»*стол*»)+СЧЁТЕСЛИ(B3:B200;»*стул*»).
- Если в качестве критерия указана текстовая строка, следует учитывать, что регистр символов не имеет значения. Например, функция СЧЁТЕСЛИ(A1:A2;»Петров») вернет значение 2, если в ячейках A1 и A2 записаны строки «петров» и «Петров» соответственно.
- Если в качестве аргумента критерий передана ссылка на пустую ячейку или пустая строка «», результат вычисления для любого диапазона ячеек будет числовое значение 0 (нуль).
- Функция может быть использована в качестве формулы массива, если требуется выполнить расчет числа ячеек с данными, удовлетворяющим сразу нескольким критериям. Данная особенность будет рассмотрена в одном из примеров.
- Рассматриваемая функция может быть использована для определения количества совпадений как по одному, так и сразу по нескольким критериям поиска. В последнем случае используют две и более функции СЧЁТЕСЛИ, возвращаемые результаты которых складывают или вычитают. Например, в ячейках A1:A10 хранится последовательность значений от 1 до 10. Для расчета количества ячеек с числами больше 3 и менее 8 необходимо выполнить следующие действия:
Скачать примеры функции СЧЁТЕСЛИ для подсчета ячеек в Excel
- записать первую функцию СЧЁТЕСЛИ с критерием «>3»;
- записать вторую функцию с критерием «>=8»;
- определить разницу между возвращаемыми значениями =СЧЁТЕСЛИ(A1:10;»>3″)-СЧЁТЕСЛИ(A1:A10;»>=8″). То есть, вычесть из множества (3;+∞) подмножество [8;+∞).
Как новичок в Excel, хотел бы спросить, как создать уникальный идентификатор, который соответствует требованиям.
Вот сводный лист. Поскольку требуется добавить уникальный идентификационный номер (ID_004, ID_0005…), когда столбец B(шаг) равен 1. Это можно сделать с помощью формулы Excel или VBA, независимо от того, можно ли это сделать. Большое спасибо…
2019-03-07 08:05
2
ответа
Чтобы сохранить начальные нули, создайте подходящую маску формата для функции TEXT.
=IF(B2=1, TEXT(COUNTIF(B$2:B2, 1), "ID_0000"), "")
2019-03-07 08:33
Если единственным требованием является уникальный идентификатор, вы можете использовать номер строки.
Вот так (для ячейки А2):
=IF(B2=1;"ID_"&ROW(B2);"")
Если идентификаторы нужно увеличивать последовательно. Вы могли бы сделать:
=IF(B2=1;"ID_"&COUNTIF($B$2:B2;1);"")
2019-03-07 08:14
На чтение 7 мин. Просмотров 30.1k.
Содержание
- Получить первое не пустое значение в списке
- Получить первое текстовое значение в списке
- Получить первое текстовое значение с ГПР
- Получить позицию последнего совпадения
- Получить последнее совпадение содержимого ячейки
- Получить n-е совпадение
- Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ
- Получить n-ое совпадение с ВПР
- Если ячейка содержит одну из многих вещей
- Поиск первой ошибки
- Поиск следующего наибольшего значения
- Несколько совпадений в списке, разделенных запятой
- Частичное совпадение чисел с шаблоном
- Частичное совпадение с ВПР
- Положение первого частичного совпадения
Получить первое не пустое значение в списке
{ = ИНДЕКС( диапазон ; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( диапазон ); 0 )) }
Если вам нужно получить первое не пустое значение (текст или число) в диапазоне в одной колонке вы можете использовать формулу массива на основе функций ИНДЕКС, ПОИСКПОЗ и ЕПУСТО.
В данном примере мы используем эту формулу:
{ = ИНДЕКС( B3: B11; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( B3: B11 ); 0 )) }
Таким образом, суть проблемы заключается в следующем: мы хотим получить первую не пустую ячейку, но для этого нет конкретной формулы в Excel. Мы могли бы использовать ВПР с шаблоном *, но это будет работать только для текста, а не для чисел.
Таким образом, нам нужно строить функциональные возможности для нужных нам формул. Способ сделать это состоит в использовании функции массива, которая «тестирует» ячейки и возвращает массив истина/ложь значения, которые мы можем сопрягать с ПОИСКПОЗ.
Работая изнутри, ЕПУСТО оценивает ячейки в диапазоне В3: В11 и возвращает результат и массив, который выглядит следующим образом:
{ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА}
Каждая ЛОЖЬ представляет собой ячейку в диапазоне, который не является пустой.
Далее, ПОИСКПОЗ ищет ЛОЖЬ внутри массива и возвращает позицию первого наденного совпадения, в этом случае 2. На данный момент, формула в примере теперь выглядит следующим образом:
{ = ИНДЕКС( B3: B11; 2; 0 )) }
И, наконец, функция ИНДЕКС выводит значение в положении 2 в массиве, в этом случае число 10.
Получить первое текстовое значение в списке
= ВПР ( «*»; диапазон; 1; ЛОЖЬ)
Если вам нужно получить первое текстовое значение в списке (диапазон один столбец), вы можете использовать функцию ВПР, чтобы установить точное соответствие, с шаблонным символом для поиска.
В данном примере формула в D7 является:
= ВПР ( «*» ; B5: B11 ; 1 ; ЛОЖЬ)
Групповой символ звездочка (*) соответствует любому текстовому значению.
Получить первое текстовое значение с ГПР
= ГПР ( «*»; диапазон; 1; ЛОЖЬ)
Для поиска и получения первого текстового значения во всем диапазоне столбцов, вы можете использовать функцию ГПР с групповым символом. В примере формула в F5 является:
= ГПР ( «*»; С5: Е5; 1; 0 )
Значение поиска является «*», групповым символом, который соответствует одному или более текстовому значению.
Получить позицию последнего совпадения
{ = МАКС( ЕСЛИ ( Величины = знач ; СТРОКА(величина) — СТРОКА(ИНДЕКС( Величины; 1 ; 1 )) + 1 )) }
Для того, чтобы получить позицию последнего совпадения (т.е. последнего вхождения) от значения поиска, вы можете использовать формулу, основанную на ЕСЛИ, СТРОКА, ИНДЕКС, ПОИСКПОЗ и MAКС функций.
В примере формула в G6:
=МАКС(ЕСЛИ(B4:B11=G5;СТРОКА(B4:B11)-СТРОКА(ИНДЕКС(B4:B11;1;1))+1))
Суть этой формулы состоит в том, что мы строим список номеров строк для данного диапазона, соответствующие по значению, а затем используем функцию MAКС, чтобы получить наибольшее количество строк, что соответствует последнему значению соответствия.
Получить последнее совпадение содержимого ячейки
= ПРОСМОТР( 2 ; 1 / ПОИСК ( вещи ; А1 ); вещи )
Чтобы проверить ячейку для одной из нескольких вещей, и вернуть последнее совпадение, найденное в списке, вы можете использовать формулу, основанную на ПРОСМОТР и ПОИСК функций. В случае нескольких найденных совпадений, формула вернет последнее совпадение из списка «вещей».
В примере формула в С5:
=ПРОСМОТР(2;1/ПОИСК($E$4:$E$7;B4);$E$4:$E$7)
Получить n-е совпадение
= НАИМЕНЬШИЙ( ЕСЛИ( логический тест; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); n )
Для того, чтобы получить позицию n-го совпадения (например, второе значение соответствия заданному, третье значение соответствия и т.д.), вы можете использовать формулу, основанную на функции НАИМЕНЬШИЙ.
= НАИМЕНЬШИЙ( ЕСЛИ( список = E5 ; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); F5 )
Эта формула возвращает позицию второго появления «красных» в списке.
Сутью этой формулы является функция НАИМЕНЬШИЙ, которая просто возвращает n-е наименьшее значение в списке значений, которое соответствует номеру строки. Номера строк были «отфильтрованы» функцией ЕСЛИ, которая применяет логику для совпадения.
Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ
{ = ИНДЕКС( массив; НАИМЕНЬШИЙ( ЕСЛИ( величины = знач ; СТРОКА ( величины ) — СТРОКА ( ИНДЕКС( величины; 1 ; 1 )) + 1 ); n-й )) }
Чтобы получить n-ое совпадение, используя ИНДЕКС и ПОИСКПОЗ, вы можете использовать формулу массива с функциями ЕСЛИ и НАИМЕНЬШИЙ, чтобы выяснить номер строки совпадения.
Получить n-ое совпадение с ВПР
= ВПР( id_формулы; стол; 4; 0 )
Чтобы получить n-ое совпадение с ВПР, вам необходимо добавить вспомогательный столбец в таблицу , которая строит уникальный идентификатор , который включает счетчик.
Эта формула зависит от вспомогательного столбца, который добавляется в качестве первого столбца таблицы исходных данных. Вспомогательный столбец содержит формулу, которая строит уникальное значение взгляда вверх от существующего идентификатора и счетчика. Счетчик подсчитывает сколько раз уникальный идентификатор появился в таблице данных.
В примере, формула ячейки J6 вспомогательного столбца выглядит следующим образом:
=ВПР(J3&»-«&I6;B4:G11;4;0)
Если ячейка содержит одну из многих вещей
{ = ИНДЕКС( результаты ;ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК( вещи ; A1 )); 0 )) }
Чтобы проверить ячейку для одной из нескольких вещей, и вернуть пользовательский результат для первого найденного совпадения, вы можете использовать формулу ИНДЕКС/ПОИСКПОЗ, основанную на функции поиска.
{ = ИНДЕКС( результаты ; ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК ( вещи ; B5 )); 0 )) }
Эта формула использует два названных диапазона: E5: E8 называется «вещи» и F5: F8 называется «Результаты». Убедитесь, что вы используете диапазоны имен с одинаковыми именами (на основе ваших данных). Если вы не хотите использовать именованные диапазоны, используйте абсолютные ссылки вместо этого.
Поиск первой ошибки
{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА(диап ); 0 ) }
Если вам нужно найти первую ошибку в диапазоне ячеек, вы можете использовать формулу массива, основанную на ПОИСКПОЗ и ЕОШИБКА функциях.
В приведенном примере формула:
{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА( B4: B11 ); 0 ) }
Работая изнутри, функция ЕОШИБКА возвращает значение ИСТИНА, если значение является признанной ошибкой, и ЛОЖЬ, если нет.
Когда дается диапазон ячеек (массив ячеек) функция ЕОШИБКА будет возвращать массив истина/ложь значений. В примере, это результирующий массив выглядит следующим образом:
{ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ}
Обратите внимание, что 6-е значение (что соответствует 6-й ячейке в диапазоне) истинно, так как ячейка В9 содержит #Н/A.
Поиск следующего наибольшего значения
=ИНДЕКС ( данные; ПОИСКПОЗ( поиск ; значения ) + 1 )
Для того, чтобы найти «следующее наибольшее» значение в справочной таблице, можно использовать формулу, основанную на ИНДЕКС и ПОИСКПОЗ. В примере формула в F6 является:
=ИНДЕКС(C5:C9;ПОИСКПОЗ(F4;B5:B9)+1)
Несколько совпадений в списке, разделенных запятой
{ = ОБЪЕДИНИТЬ ( «;» ; ИСТИНА ; ЕСЛИ( диапазон1 = E5 ; диапазон2 ; «» )) }
Для поиска и извлечения нескольких совпадений, разделенных запятыми (в одной ячейке), вы можете использовать функцию ЕСЛИ с функцией ОБЪЕДИНИТЬ.
{ = ОБЪЕДИНИТЬ( «;» ; ИСТИНА ; ЕСЛИ( группа = E5 ; имя ; «» )) }
Эта формула использует «имя» — именованный диапазон (B5: B11) и «группа» — (C5: C11).
Частичное совпадение чисел с шаблоном
{ = ПОИСКПОЗ( «*» & номер & «*» ; ТЕКСТ( диапазон ; «0» ); 0 ) }
Для того, чтобы выполнить частичное совпадение (подстроки) против чисел, вы можете использовать формулу массива, основанную на ПОИСКПОЗ и ТЕКСТ.
Excel поддерживает символы подстановки «*» и «?». Тем не менее, если вы используете специальные символы с номером, вы будете преобразовывать числовое значение в текстовое значение. Другими словами, «*» & 99 & «*» = «* 99 *» (текстовая строка).
Если попытаться найти текстовое значение в диапазоне чисел, совпадение завершится неудачно.
Решение
Одно из решений заключается в преобразовании чисел в диапазоне поиска для текстовых значений, а затем сделать нормальный поиск с ПОИСКПОЗ, ВПР и т.д.
Другой вариант
Другой способ, чтобы преобразовать числа в текст, чтобы сцепить пустую строку. Эта формула работает так же, как выше формуле:
= ПОИСКПОЗ ( «*» & Е5 & «*» ; В5: В10 & «» ; 0 )
Частичное совпадение с ВПР
Если вы хотите получить информацию из таблицы на основе частичного совпадения, вы можете сделать это с помощью ВПР в режиме точного соответствия, и групповые символы.
В примере формула ВПР выглядит следующим образом:
=ВПР($H$2&»*»;$B$3:$E$12;2;0)
В этой формуле, значение представляет собой именованный диапазон, который относится к Н2, а также данные , представляет собой именованный диапазон , который относится к B3: E102. Без названных диапазонов, формула может быть записана следующим образом:
Положение первого частичного совпадения
= ПОИСКПОЗ ( «* текст *» ; диапазон; 0 )
Для того, чтобы получить позицию первого частичного совпадения (то есть ячейку, которая содержит текст, который вы ищете), вы можете использовать функцию ПОИСКПОЗ со специальными символами.
В примере формула в Е7:
=ПОИСКПОЗ(«*»&E6&»*»;B5:B10;0)
Функция ПОИСКПОЗ возвращает позицию или «индекс» в первом совпадении на основании значения поиска в диапазоне.
ПОИСКПОЗ поддерживает подстановочное согласование со звездочкой «*» (один или несколько символов) или знаком вопроса «?» (один символ), но только тогда, когда третий аргумент, тип_сопоставления, установлен в ЛОЖЬ или ноль.
Как в excel посчитать количество ячеек с определенным значением?
как в экселе посчитать количество ячеек с определенным значением?
Программа Microsoft Excel рано или поздно заставит своего пользователя встретиться с понятием «ячейка«. Думается, что уже с первых минут работы. Область рабочего листа из них, собственно, и состоит.
Для того, чтобы произвести точный подсчёт ячеек, заполненных одинаковым содержанием (то есть одним и тем же значением), нам необходимо дать определённую команду.
Для этого необходимо активировать любую из ячеек, которая пуста. Направить курсор в её область и однократно щёлкнуть по ней.
После этого в строке функций нам предстоит оформить значение нашей команды. Важно правильно набрать текст.
Например:
В скобочках указываются так называемые диапазон (его две конечных точки) и критерий (то, что мы подсчитываем; к примеру, число ячеек со словом «ох»).
Не ошибайтесь, и данная формула покажет верный результат подсчёта в той ячейке, которая была активирована в самом начале данной работы.
Ниже вы видите два скрина. На одном них показана область из 7 ячеек, в которых введены несколько междометий. Мы подсчитываем количество «ой«. Оказывается, мы «ойкнули» ровно три раза.
Второй скрин посвящён программному описанию используемой функции с тем же результатом «ойканья».
О том, как посчитать количество ячеек с определенными значениями (словами) в программе Excel
Одним из распространенных вопросов у начинающих пользователей программы Excel является вопрос: «как посчитать количество ячеек содержащих определенное слово или набор слов? » .
Ответ на этот вопрос довольно прост, прозаичен и не требует особых навыков работы в «Эксель».
Для примера рассмотрим перечень товаров (прайс-лист)
В первой колонке указаны наименования товаров. Нам необходимо посчитать количество принтеров. То есть, посчитать количество ячеек содержащих слово «принтер». Обратите внимание, что слово принтер может стоять как вначале, так и в конце словосочетания, а так же быть частью составного слова «Термопринтер».
Решение задачи выполняется при помощи одной единственной функции СЧЕТЕСЛИ.
Запишем в ячейку с результатом эту функцию в следующем виде: СЧЕТЕСЛИ(A:A; “*принтер*”),
где A:A – диапазон, в котором находим нужное слово;
“*принтер*” – искомое слово;
* — символ «*» позволяет учесть слова находящиеся внутри словосочетаний и в составе сложных слов.
После нажатия клавиши «Enter» приведенная выше функция посчитает количество принтеров в списке.
Как в excel посчитать ячейки с определенным текстом
Send a Message
This message will be pushed to the admin’s iPhone instantly.
Всем добрый день, сегодня я открываю рубрику «Функции» и начну с функции СЧЁТЕСЛИ. Честно говоря, не очень-то и хотел, ведь про функции можно почитать просто в справке Excel. Но потом вспомнил свои начинания в Excel и понял, что надо. Почему? На это есть несколько причин:
- Функций много и пользователь часто просто не знает, что ищет, т.к. не знает названия функции.
- Функции — первый шаг к облегчению жизни в Экселе.
Сам я раньше, пока не знал функции СЧЁТЕСЛИ, добавлял новый столбец, ставил функцию ЕСЛИ и потом уже суммировал этот столбец.
Поэтому сегодня я хотел бы поговорить о том, как без лишних телодвижений найти количество ячеек, подходящих под определенный критерий. Итак, сам формат функции прост:
Если с первым аргументом более-менее понятно, можно подставить диапазон типа A1:A5 или просто название диапазона, то со вторым уже не очень, потому что возможности задания критерия достаточно обширны и часто незнакомы тем, кто не сталкивается с логическими выражениями.
Самые простые форматы «Критерия»:
- Ячейка строго с определенным значением, можно поставить значения («яблоко»), (B4),(36). Регистр не учитывается, но даже лишний пробел уже включит в подсчет ячейку.
- Больше или меньше определенного числа. Тут уже идет в ход знак равенства, точнее неравенств, а именно («>5»);(«<>10″);(» «&СРЗНАЧ(A1:A100))
- Содержит определенное количество символов, например 5 символов:(«. «)
- Определенный текст, который содержится в ячейке: («*солнце*»)
- Текст, который начинается с определенного слова: («Но*»)
- Ошибки: («#ДЕЛ/0!»)
- Логические значения («ИСТИНА»)
Если же у вас несколько диапазонов, каждый со своим критерием, то вам надо обращаться к функции СЧЁТЕСЛИМН. Если диапазон один, но условий несколько, самый простой способ — суммировать: Есть более сложный, хотя и более изящный вариант — использовать формулу массива:
Функция СЧЁТЕСЛИ и подсчет количества значения ячейки в Excel
Функция СЧЁТЕСЛИ в Excel используется для подсчета количества ячеек в рассматриваемом диапазоне, содержащиеся данные в которых соответствуют критерию, переданному в качестве второго аргумента данной функции, и возвращает соответствующее числовое значение.
Функция СЧЁТЕСЛИ может быть использована для анализа числовых значений, текстовых строк, дат и данных другого типа. С ее помощью можно определить количество неповторяющихся значений в диапазоне ячеек, а также число ячеек с данными, которые совпадают с указанным критерием лишь частично. Например, таблица Excel содержит столбец с ФИО клиентов. Для определения количества клиентов-однофамильцев с фамилией Иванов можно ввести функцию =СЧЁТЕСЛИ(A1:A300;”*Иванов*”). Символ «*» указывает на любое количество любых символов до и после подстроки «Иванов».
Примеры использования функции СЧЁТЕСЛИ в Excel
Пример 1. В таблице Excel содержатся данные о продажах товаров в магазине бытовой техники за день. Определить, какую часть от проданной продукции составляет техника фирмы Samsung.
Вид исходной таблицы данных:
Для расчета используем формулу:
- C3:C17 – диапазон ячеек, содержащих названия фирм проданной техники;
- «Samsung» – критерий поиска (точное совпадение);
- A17 – ячейка, хранящая номер последней продажи, соответствующий общему числу продаж.
Доля проданной продукции техники фирмы Samsung в процентах составляет – 40%.
Подсчет количества определенного значения ячейки в Excel при условии
Пример 2. По итогам сдачи экзаменов необходимо составить таблицу, в которой содержатся данные о количестве студентов, сдавших предмет на 5, 4, 3 балла соответственно, а также тех, кто не сдал предмет.
Вид исходной таблицы:
Предварительно выделим ячейки E2:E5, введем приведенную ниже формулу:
- B3:B19 – диапазон ячеек с оценками за экзамен;
- D2:D5 – диапазон ячеек, содержащих критерии для подсчета числа совпадений.
В результате получим таблицу:
Статистический анализ посещаемости с помощью функции СЧЁТЕСЛИ в Excel
Пример 3. В таблице Excel хранятся данные о просмотрах страниц сайта за день пользователями. Определить число пользователей сайта за день, а также сколько раз за день на сайт заходили пользователи с логинами default и user_1.
Вид исходной таблицы:
Поскольку каждый пользователь имеет свой уникальный идентификатор в базе данных (Id), выполним расчет числа пользователей сайта за день по следующей формуле массива и для ее вычислений нажмем комбинацию клавиш Ctrl+Shift+Enter:
Выражение 1/СЧЁТЕСЛИ(A3:A20;A3:A20) возвращает массив дробных чисел 1/количество_вхождений, например, для пользователя с ником sam это значение равно 0,25 (4 вхождения). Общая сумма таких значений, вычисляемая функцией СУММ, соответствует количеству уникальных вхождений, то есть, числу пользователей на сайте. Полученное значение:
Для определения количества просмотренных страниц пользователями default и user_1 запишем формулу:
В результате расчета получим:
Особенности использования функции СЧЁТЕСЛИ в Excel
Функция имеет следующую синтаксическую запись:
=СЧЕТЕСЛИ( диапазон; критерий )
- диапазон – обязательный аргумент, принимающий ссылку на одну либо несколько ячеек, в которых требуется определить число совпадений с указанным критерием.
- критерий – условие, согласно которому выполняется расчет количества совпадений в рассматриваемом диапазоне. Условием могут являться логическое выражение, числовое значение, текстовая строка, значение типа Дата, ссылка на ячейку.
- При подсчете числа вхождений в диапазон в соответствии с двумя различными условиями, диапазон ячеек можно рассматривать как множество, содержащее два и более непересекающихся подмножеств. Например, в таблице «Мебель» необходимо найти количество столов и стульев. Для вычислений используем выражение =СЧЁТЕСЛИ(B3:B200;»*стол*»)+СЧЁТЕСЛИ(B3:B200;»*стул*»).
- Если в качестве критерия указана текстовая строка, следует учитывать, что регистр символов не имеет значения. Например, функция СЧЁТЕСЛИ(A1:A2;»Петров») вернет значение 2, если в ячейках A1 и A2 записаны строки «петров» и «Петров» соответственно.
- Если в качестве аргумента критерий передана ссылка на пустую ячейку или пустая строка «», результат вычисления для любого диапазона ячеек будет числовое значение 0 (нуль).
- Функция может быть использована в качестве формулы массива, если требуется выполнить расчет числа ячеек с данными, удовлетворяющим сразу нескольким критериям. Данная особенность будет рассмотрена в одном из примеров.
- Рассматриваемая функция может быть использована для определения количества совпадений как по одному, так и сразу по нескольким критериям поиска. В последнем случае используют две и более функции СЧЁТЕСЛИ, возвращаемые результаты которых складывают или вычитают. Например, в ячейках A1:A10 хранится последовательность значений от 1 до 10. Для расчета количества ячеек с числами больше 3 и менее 8 необходимо выполнить следующие действия:
- записать первую функцию СЧЁТЕСЛИ с критерием «>3»;
- записать вторую функцию с критерием «>=8»;
- определить разницу между возвращаемыми значениями =СЧЁТЕСЛИ(A1:10;»>3″)-СЧЁТЕСЛИ(A1:A10;»>=8″). То есть, вычесть из множества (3;+∞) подмножество [8;+∞).
Как выполнить подсчёт ячеек со значением
Здравствуйте, дорогие читатели.
Перед началом данной темы я бы хотел вам посоветовать отличный обучающий продукт по теме экселя, по названием « Неизвестный Excel » , там всё качественно и понятно изложено. Рекомендую.
Ну а теперь вернёмся к теме.
Вы наверняка являетесь представителем одной из профессий, в которой не обойтись без программы эксель. Ведь она позволяет вести подсчеты, составлять списки, таблицы и диаграммы, заполнять ежедневники и решать многие другие задачи, связанные с цифрами.
Однако не все, кто работает с этим приложением, знает его полную функциональность и умеет ее применять на практике. Вы один из них? Тогда вы обратились по адресу. В частности, сегодня мы разберем, как в excel подсчитать количество ячеек со значением. Есть несколько способов, как это сделать. Они зависят от того, какое именно содержимое вам нужно посчитать. Разберем самые популярные из них.
Самый быстрый способ
Наиболее простым, но в то же время поверхностным, является способ подсчета элементов в строке состояния. Их численность выводится в самой нижней панели открытого окна.
Если вы хотите задать определенные несложные параметры подсчетам, откройте настройки строки состояния. Это можно сделать, щелкнув правой кнопкой мыши по ней. В появившемся окне обратите внимание на ту часть, где написано «Среднее», «Количество», «Количество чисел», «Минимум», «Максимум» и «Сумма».
Выберите нужный параметр и узнайте больше о том, что содержит ваша таблица.
Подсчет ячеек в строках и столбцах
Существует два способа, позволяющие узнать количество секций. Первый — дает возможность посчитать их по строкам в выделенном диапазоне. Для этого необходимо ввести формулу =ЧСТРОК(массив) в соответствующее поле. В данном случае будут подсчитаны все клетки, а не только те, в которых содержатся цифры или текст.
Второй вариант — =ЧИСЛСТОЛБ(массив) — работает по аналогии с предыдущей, но считает сумму секций в столбце.
Считаем числа и значения
Я расскажу вам о трех полезных вещах, помогающих в работе с программой.
- Сколько чисел находится в массиве, можно рассчитать с помощью формулы СЧЁТ(значение1;значение2;…). Она учитывает только те элементы, которые включают в себя цифры.То есть если в некоторых из них будет прописан текст, они будут пропущены, в то время как даты и время берутся во внимание. В данной ситуации не обязательно задавать параметры по порядку: можно написать, к примеру, =СЧЁТ(А1:С3;В4:С7;…).
- Другая статистическая функция — СЧЕТЗ — подсчитает вам непустые клетки в диапазоне, то есть те, которые содержат буквы, числа, даты, время и даже логические значения ЛОЖЬ и ИСТИНА.
- Обратное действие выполняет формула, показывающая численность незаполненных секций — СЧИТАТЬПУСТОТЫ(массив). Она применяется только к непрерывным выделенным областям.
Ставим экселю условия
Когда нужно подсчитать элементы с определённым значением, то есть соответствующие какому-то формату, применяется функция СЧЁТЕСЛИ(массив;критерий). Чтобы вам было понятнее, следует разобраться в терминах.
Массивом называется диапазон элементов, среди которых ведется учет. Это может быть только прямоугольная непрерывная совокупность смежных клеток. Критерием считается как раз таки то условие, согласно которому выполняется отбор. Если оно содержит текст или цифры со знаками сравнения, мы его берем в кавычки. Когда условие приравнивается просто к числу, кавычки не нужны.
Разбираемся в критериях
- «>0» — считаются ячейки с числами от нуля и выше;
- «Товар» — подсчитываются секции, содержащие это слово;
- 15 — вы получаете сумму элементов с данной цифрой.
Для большей ясности приведу развернутый пример.
Чтобы посчитать ячейки в зоне от А1 до С2, величина которых больше прописанной в А5, в строке формул необходимо написать =СЧЕТЕСЛИ(А1:С2;«>»&А5).
Задачи на логику
Хотите задать экселю логические параметры? Воспользуйтесь групповыми символами * и ?. Первый будет обозначать любое количество произвольных символов, а второй — только один.
К примеру, вам нужно знать, сколько имеет электронная таблица клеток с буквой Т без учета регистра. Задаем комбинацию =СЧЕТЕСЛИ(А1:D6;«Т*»). Другой пример: хотите знать численность ячеек, содержащих только 3 символа (любых) в том же диапазоне. Тогда пишем =СЧЕТЕСЛИ(А1:D6;«. »).
Средние значения и множественные формулы
В качестве условия может быть задана даже формула. Желаете узнать, сколько у вас секций, содержимое которых превышают среднее в определенном диапазоне? Тогда вам следует записать в строке формул следующую комбинацию =СЧЕТЕСЛИ(А1:Е4;«>»&СРЗНАЧ(А1:Е4)).
Если вам нужно сосчитать количество заполненных ячеек по двум и более параметрам, воспользуйтесь функцией СЧЕТЕСЛИМН. К примеру, вы ищите секций с данными больше 10, но меньше 70. Вы пишете =СЧЕТЕСЛИМН(А1:Е4;«>10»;А1:Е4;«
© 2016 — 2019 “Блог Дмитрия Вассиярова”
Перепечатка, использование материалов с данного сайта, разрешена только по согласию с автором.