Как посчитать количество выделенных строк в excel
При работе в Excel иногда нужно подсчитать количество строк определенного диапазона. Сделать это можно несколькими способами. Разберем алгоритм выполнения этой процедуры, используя различные варианты.
Определение количества строк
Существует довольно большое количество способов определения количества строк. При их использовании применяются различные инструменты. Поэтому нужно смотреть конкретный случай, чтобы выбрать более подходящий вариант.
Способ 1: указатель в строке состояния
Но бывают и ситуации, когда вы выделяете заполненные ячейки в строках, а отображение количества на панели состояния так и не появляется. Это означает, что данная функция просто отключена. Для её включения кликаем правой кнопкой мыши по панели состояния и в появившемся меню устанавливаем галочку напротив значения «Количество». Теперь численность выделенных строк будет отображаться.
Способ 2: использование функции
Её можно вбить в любую пустую ячейку на листе, а в качестве аргумента «Массив» подставить координаты диапазона, в котором нужно произвести подсчет.
Для вывода результата на экран достаточно будет нажать кнопку Enter.
Причем подсчитываться будут даже полностью пустые строки диапазона. Стоит заметить, что в отличие от предыдущего способа, если вы выделите область, включающую несколько столбцов, то оператор будет считать исключительно строчки.
Пользователям, у которых небольшой опыт работы с формулами в Экселе, проще работать с данным оператором через Мастер функций.
Запускается небольшое окно Мастера функций. В поле «Категории» устанавливаем позицию «Ссылки и массивы» или «Полный алфавитный перечень». Ищем значение «ЧСТРОК», выделяем его и жмем на кнопку «OK».
Открывается окно аргументов функции. Ставим курсор в поле «Массив». Выделяем на листе тот диапазон, количество строк в котором нужно подсчитать. После того, как координаты этой области отобразились в поле окна аргументов, жмем на кнопку «OK».
Способ 3: применение фильтра и условного форматирования
Но бывают случаи, когда нужно подсчитать не все строки диапазона, а только те, которые отвечают определенному заданному условию. В этом случае на помощь придет условное форматирование и последующая фильтрация
Переходим во вкладку «Главная». На ленте в блоке инструментов «Стили» жмем на кнопку «Условное форматирование». Выбираем пункт «Правила выделения ячеек». Далее открывается пункт различных правил. Для нашего примера мы выбираем пункт «Больше…», хотя для других случаев выбор может быть остановлен и на иной позиции.
Открывается окно, в котором задается условие. В левом поле укажем число, ячейки, включающие в себя значение больше которого, окрасятся определенным цветом. В правом поле существует возможность этот цвет выбрать, но можно и оставить его по умолчанию. После того, как установка условия завершена, жмем на кнопку «OK».
Как видим, после этих действий ячейки, удовлетворяющие условию, были залиты выбранным цветом. Выделяем весь диапазон значений. Находясь во все в той же вкладке «Главная», кликаем по кнопке «Сортировка и фильтр» в группе инструментов «Редактирование». В появившемся списке выбираем пункт «Фильтр».
После этого в заглавиях столбцов появляется значок фильтра. Кликаем по нему в том столбце, где было проведено форматирование. В открывшемся меню выбираем пункт «Фильтр по цвету». Далее кликаем по тому цвету, которым залиты отформатированные ячейки, удовлетворяющие условию.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Метод 1: информация в строке состояния
Проще всего посмотреть количество строк в строке состояния Эксель, расположенной внизу его основной рабочей области. Порядок действий описан ниже:
Примечание: Если выделенный столбец таблицы заполнен не полностью, а в других столбцах напротив пропусков присутствуют данные, то мы не сможем посчитать фактическое количество заполненных строк при помощи вышеописанного способа. Поэтому в подобной ситуации будем следовать приведенному ниже алгоритму:
Если в строке состояния отсутствует слово “Количество”, проверяем настройки отображения информации для нее.
Метод 2: применение функции ЧСТРОК
Функция ЧСТРОК имеет следующий синтаксис: =ЧСТРОК(массив).
Давайте на практическом примере разберем, как работает данная функция, воспользовавшись Мастером функций:
Особенностью этого метода является то, что с его помощью считаются все строки – и с данными в ячейках, и без них. Также если в выделенном диапазоне будет присутствовать несколько столбцов, это не повлияет на конечный результат работы функции “ЧСТРОК”.
Метод 3: условное форматирование и использование фильтра
Третий метод раскрывает алгоритм действий в ситуации, когда нужно посчитать количество строк для диапазона ячеек с определенными значениями данных в них. Это означает, что в итог расчета попадут только те строки, ячейки которых сгруппированы по конкретному условию или признаку. Речь пойдет об условном форматировании и использовании фильтра.
Заключение
Если вы сделали все, как описано выше, а количество не отображается, то это значит, что необходимо включить соответствующую опцию. Для этого выполняем клик правой кнопкой мыши по панели состояния и выбираем «Количество».
Рассмотренный выше пример не дает возможности сохранить результаты подсчета и отображать их в ячейке на листе. Более того, часто необходимо учитывать и пустые позиции. Для этого удобно пользоваться формулой ЧСТРОК.
Данную функцию можно вставить нужную ячейку и вместо массива указать диапазон ячеек для которого необходимо вычислить количество позиций.
При использовании данной формулы строки без значений тоже учитываются. Кроме того, даже если выделена область, включает не один столбец, то функция будет считать только строки.
Для некоторых пользователей будет удобнее пользоваться этой формулой через Конструктор формул.
1) Устанавливаем курсор на позицию, в которую будем вставлять формулу, т. е. туда где будет выводиться результат и нажимаем на иконку «Вставить формулу».
2) Откроется окно Конструктора формул. В значении «Категория» установите «Ссылки и массивы», также можно выбрать «Полный алфавитный перечень». Находим функцию «ЧСТРОК» и нажимаем «ОК»
3) В окне выбора аргументов формулы установите курсор на после массива и выделите область с нужным диапазоном значений. После появления ячеек диапазона в поле аргументов функции нажмите «ОК»
4) После выполнения, приведенных выше действий в указанной позиции Excel автоматически вычислит количество строк в диапазоне. Вычисления будут выполняться до тех пор пока вы сами не уберете формулу из ячейки.
Пример 3: использование форматирования и фильтрации
При более сложных случаях, когда необходимо считать только позиции, попадающие под указанные условия. Для таких случаев используется форматирование с заданным условием, после чего применяют фильтры.
1) Выделим диапазон значений, для которого необходимо выполнить соответствие условиям.
2) Перейдите на главную панель и выберите «Стили» далее нажимаем на пиктограмму «Условное форматирование». В условном форматировании выберите «Правила выделения ячеек» и для нашего случая выбираем правило «Большее. »
3) Появляется диалог задания условий. Слева указывается значение больше которого, ячейки окрасятся заданным цветом. Справа части задается цвет. После выбора нажимаем «ОК»
4) Как видно ниже, позиции, которые соответствуют условиям окрашены заданным цветом. Находясь на главной панели выделите весь диапазон и нажимаем пункт меню «Сортировка и фильтр» и выбираем «Фильтр»
5) В заголовках появятся кнопки фильтров. Нажмем на кнопку фильтра, отформатированного столбца и выберем «Фильтр по цвету». После этого нажимаем на цвет, которым обозначены отформатированные ячейки, попавшие под условие.
6) Видно, что неокрашенные ячейки исчезли. Выделим оставшиеся ячейки из диапазона и посмотрим в строке состояния на показатель «Количество», которое теперь указывает на число строк, выполняющих условие.
Как мы могли убедиться, существует, как минимум, три способа подсчета строк в указанном диапазоне. Какой способ использовать зависит от ваших предпочтений и конкретных задач.
[expert_bq id=»1570″]Если у вас установлена текущая версия Office 365, можно просто ввести формулу в верхней левой ячейке диапазона вывода и нажать клавишу ВВОД, чтобы подтвердить использование формулы динамического массива. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Этот вопрос я слышу почти на каждом тренинге, да и на нашем форуме он всплывает с завидной периодичностью. Давайте, наконец, разберемся — что же это за хитрый режим ссылок, как с ним бороться и для чего он, собственно говоря, вообще предназначен.
Числовые последовательности в EXCEL (порядковые номера 1,2,3. и др. ). Примеры и описание
Мало кто использует этот режим осознанно. Обычно он случайно включается сам, например, при открытии кривых выгрузок из 1С в Excel и в некоторых других ситуациях. Отключить его совсем несложно. Самый простой путь:
1С установить формат ячейки excel
Формат ячеек Эксель.
Мне довольно часто приходится сталкиваться с задачами взаимодействия 1с и Экселя (Excel). Задачи по выгрузки данных в эксель тоже бывают. Не претендуя на полноту освещения вопроса, тем не менее, кое что о форматировании ячеек эксель из 1с.
Как задавать что-либо для одной ячейки, строки, колонки, листа, диапазона ячеек.
// задать формат колонки
Лист . Columns ( 1 ) . ColumnW >= 20 ; // Ширина колонки в символах
// Задать формат диапазона ячеек
Лист . Range ( Лист . Cells ( 1 , 1 ) , Лист . Cells ( НомерСтроки , 12 ) ) . WrapText = Истина ;     //Перенос текста по словам
Многие пользователи для удобства работы сохраняют таблицы 1С (печатные формы) в формате Excel (*.xls). После чего в полученном файле делают различные группировки, сортировки, вычисления и т.п. Связано это с тем, что в таблицах 1С нет такого огромного функционала как в таблицах Excel. Но в версии 1С 8.0 есть нововведения, делающих работу с таблицами более комфортной.
Замечание: В Excel разделителем дробной части считается символ «,». Поэтому перед сохранением таблицы 1С в формате Excel замените в ней другой разделитель (например «.») на «,». Иначе в Excel с этими числами не удастся произвести вычисления, или они вообще не будут отображаться как числа. Например, в таблице 1С «15.2» отобразится в Excel как «15.фев».
Доступ из 1С к Excel производится посредством OLE. Например, код
Попытка
Эксель = СоздатьОбъект( «Excel.Application» );
Исключение
Сообщить(ОписаниеОшибки() + » Программа Exсel не установлена на данном компьютере!» );
Возврат;
позволит нам получить доступ через переменную «Эксель» к запущенному приложению Excel. А далее уже можно получить доступ к книге (файлу), листу и ячейке с данными. Далее примеры кода.
НомерЛиста — номер листа в книге, ИмяЛиста — имя листа в книге.
Значение = Лист . Cells ( НомерСтроки , НомерКолонки ). Value ;
НомерСтроки, НомерКолонки — номер строки и номер колонки, на пересечении которых находится ячейка.
Важно: не забывайте поле выполнения нужных действий добавлять код Эксель . Quit (); , иначе запущенный процесс останется незавершенным и будет занимать память и процессор компьютера.
Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо
создать новую, и выбрать рабочий лист для вывода данных. Открытие существующей книги описано выше, а для создания новой книги нужно использовать следующий код:
Попытка
Эксель = СоздатьОбъект( «Excel.Application» );
Исключение
Сообщить(ОписаниеОшибки() + » Программа Exсel не установлена на данном компьютере!» );
Возврат;
Так как при создании книги в Excel автоматически создаются листы (Сервис->Параметры->Общие->Листов в новой книге), то нужно лишь произвести выбор листа, с которым будет вестись работа:
либо добавить в книгу новый лист, если необходимо:
Лист = Книга . Sheets . Add ();
Следующим шагом будет установка значения ячейки:
Лист . Cells ( НомерСтроки , НомерКолонки ). Value = Значение ;
НомерСтроки, НомерКолонки — номер строки и номер колонки, на пересечении которых находится ячейка.
Сообщить(ОписаниеОшибки() + » Файл не сохранен!» );
Возврат;
ПутьКФайлу — полный путь к файлу книги Excel (включая имя).
Важно: не забывайте, что в имени файлов не должно содержаться символов / : * ? » > Часто используемые методы для чтения/установки значений в Excel.
| Эксель = СоздатьОбъект( «Excel.Application» ); |
Лист . PageSetup . LeftMargin = Эксель . CentimetersToPoints ( Сантиметры );
Лист . Cells ( НомерСтроки , НомерКолонки ) . Value = Значение ;
Лист . Cells ( НомерСтроки , НомерКолонки ) . Font . Name = ИмяШрифта ;
Лист . Cells ( НомерСтроки , НомерКолонки ) . Font . Size = РазмерШрифта ;
Лист . Cells ( НомерСтроки , НомерКолонки ) . Font . Bold = Жирный ;
Лист . Cells ( НомерСтроки , НомерКолонки ) . Font . Italic = Курсив ;
Лист . Cells ( НомерСтроки , НомерКолонки ) . Font . Underline =
Лист . Cells ( НомерСтроки , НомерКолонки ) . NumberFormat =
Лист . Cells ( НомерСтроки , НомерКолонки ) . Borders . Linestyle =
MS Excel давно стал стандартом для работы с электронными таблицами. В статье рассматриваются способы программной выгрузки и загрузки из 1С в файлы Excel.
Существует несколько способов программной работы с файлами Excel из 1С. Каждый из них имеет свои преимущества и недостатки.
Обмен через табличный документ
Данный способ простой. Его суть заключается в том, что объект ТабличныйДокумент имеет методы:
Метод Записать () доступен как на клиенте, так и на сервере. Метод Прочитать () доступен только на стороне сервера. Необходимо помнить об этом
при планировании клиент-серверного взаимодействия.
Рассмотрим пример сохранения табличного документа в файл. Необходимо любым способом создать и заполнить объект ТабличныйДокумент, а выгрузка в файл осуществляется всего лишь одной строкой:
ТабДок . Записать ( ПутьКФайлу , ТипФайлаТабличногоДокумента . XLSX );
Здесь ТабДок — сформированный табличный документ, ПутьКФайлу — имя файла для выгрузки, ТипФайлаТабличногоДокумента.XLSX — формат создаваемого файла. Поддерживаются следующие форматы Excel:
Загрузка из файла осуществляется также достаточно просто:
ТабДок = Новый ТабличныйДокумент ;
ТабДок . Прочитать ( ПутьКФайлу , СпособЧтенияЗначенийТабличногоДокумента.Значение );
Здесь ПутьКФайлу — путь к загружаемому файлу Excel. СпособЧтенияЗначенийТабличногоДокумента.Значение определяет, каким образом нужно интерпретировать данные, считываемые из исходного документа. Доступны варианты:
Обмен через OLE
Обмен через технологию OLE automation, пожалуй, самый распространенный вариант программной работы с файлами Excel. Он позволяет использовать весь функционал, предоставляемый Excel, но отличается медленной скоростью работы по сравнению с другими способами. Для обмена через OLE требуется установка MS Excel:
// Запись значения в ячейку
Лист . Cells ( НомерСтроки , НомерКолонки ). Value = ЗначениеЯчейки ;
// Закрытие Эксель и освобождение памяти
Эксель . Quit ();
Эксель = 0 ;
// Чтение значения ячейки, обычно здесь располагается цикл обхода ячеек
ЗначениеЯчейки = Лист . Cells ( НомерСтроки , НомерКолонки ). Value ;
// Закрытие Эксель и освобождение памяти
Эксель . Quit ();
Эксель = 0 ;
// Открытие книги
Книга = ПолучитьCOMОбъект ( ПутьКФайлу );
// Позиционирование на нужном листе
Лист = Книга . Worksheets ( 1 );
// Чтение значения ячейки, обычно здесь располагается цикл обхода ячеек
ЗначениеЯчейки = Лист . Cells ( НомерСтроки , НомерКолонки ). Value ;
Для обхода всех заполненных строк листа Excel можно использовать следующие приемы:
// —— ВАРИАНТ 1 ——
КоличествоСтрок = Лист . Cells ( 1 , 1 ). SpecialCells ( 11 ). Row ;
Для НомерСтроки = 1 По КоличествоСтрок Цикл
ЗначениеЯчейки = Лист . Cells ( НомерСтроки , НомерКолонки ). Value ;
КонецЦикла;
// —— ВАРИАНТ 2 ——
НомерСтроки = 0 ;
Пока Истина Цикл
НомерСтроки = НомерСтроки + 1 ;
ЗначениеЯчейки = Лист . Cells ( НомерСтроки , НомерКолонки ). Value ;
Если НЕ ЗначениеЗаполнено ( ЗначениеЯчейки ) Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Вместо последовательного обхода всех строк листа можно выгрузить все данные в массив и работать с ним. Такой подход будет быстрее при чтении большого объема данных:
ВсегоКолонок = Лист . Cells ( 1 , 1 ). SpecialCells ( 11 ). Column ;
ВсегоСтрок = Лист . Cells ( 1 , 1 ). SpecialCells ( 11 ). Row ;
Область = Лист . Range ( Лист . Cells ( 1 , 1 ), Лист . Cells ( ВсегоСтрок , ВсегоКолонок ));
Данные = Область . Value . Выгрузить ();
В таблице ниже приведены наиболее востребованные свойства и методы для работы с Excel через OLE:
Для того, чтобы узнать какое свойство нужно менять или какой метод вызвать можно воспользоваться макросами Excel. Если записать макрос с требуемыми действиями, то после можно посмотреть программный код на VBA записанного макроса.
Использование COMSafeArray
Обмен через ADO
Файл Excel при обмене через ADO представляет собой базу данных, к которой можно обращаться при помощи SQL-запросов. Установка MS Excel не требуется, но обязательно наличие драйвера ODBC, при помощи которого будет осуществляться доступ. Используемый драйвер ODBC определяется при указании строки соединения к файлу. Обычно требуемый драйвер уже установлен на компьютере.
Обмен через ADO заметно быстрее обмена через OLE, но при выгрузке нет возможности использовать функционал Excel для оформления ячеек, разметки страниц, задания формул и т.д.
// Создание COM-объекта для соединения
Соединение = Новый COMОбъект ( «ADODB.Connection» );
// Создание COM-объекта для команды
Команда = Новый COMОбъект ( «ADODB.Command» );
Команда . ActiveConnection = Соединение ;
// Удаление команды и закрытие соединения
Команда = Неопределено;
Соединение . Close ();
Соединение = Неопределено ;
Для создания нового листа и формирования его структуры можно воспользоваться объектами ADOX.Catalog и ADOX.Table. В этом случае код примет вид:
// Создание COM-объекта для работы с книгой
Книга = Новый COMОбъект ( «ADOX.Catalog» );
Книга . ActiveConnection = Соединение ;
// Создание COM-объекта для работы со структурой данных на листе
Таблица = Новый COMОбъект ( «ADOX.Table» );
Таблица . Name = «Лист1» ;
Таблица . Columns . Append ( «Колонка1» , 202 );
Таблица . Columns . Append ( «Колонка2» , 7 );
Таблица . Columns . Append ( «Колонка3» , 5 );
Таблица . Columns . Append ( «Колонка4» , 5 );
// Создание в книге листа с описанной структурой
Книга . Tables . Append ( Таблица );
Таблица = Неопределено;
Книга = Неопределено;
во втором параметре указывается тип колонки. Параметр необязательный, вот некоторые значения типа колонки:
// Создание COM-объекта для соединения
Соединение = Новый COMОбъект ( «ADODB.Connection» );
// Создание COM-объекта для получения выборки
Выборка = Новый COMОбъект ( «ADODB.Recordset» );
ТекстЗапроса = «SELECT * FROM [Лист1$]» ;
// Выполнение запроса
Выборка . Open ( ТекстЗапроса , Соединение );
// Обход результата выборки
Пока НЕ Выборка . EOF () Цикл
ЗначениеКолонки1 = Выборка . Fields . Item ( «Колонка1» ). Value ; // Обращение по имени колонки
ЗначениеКолонки2 = Выборка . Fields . Item ( 0 ). Value ; // Обращение по индексу колонки
Выборка . MoveNext ();
КонецЦикла;
Выборка . Close ();
Выборка = Неопределено;
Соединение . Close ();
Соединение = Неопределено;
В строке соединения параметр HDR определяет как будет восприниматься первая строка на листе. Возможны варианты:
- YES — первая строка воспринимается как названия колонок. К значениям можно обращаться по имени и по индексу колонки.
- NO — первая строка воспринимается как данные. К значениям можно обращаться только по индексу колонки.
В приведенных примерах рассмотрено лишь несколько объектов ADO. Объектная модель ADO состоит из следующих объектов:
Выгрузка без программирования
Для сохранения данных из 1С в Excel не всегда целесообразно прибегать к программированию. Если в режиме Предприятия пользователь может отобразить требуемые для выгрузки данные, то, их возможно сохранить в Excel без программирования.
Для сохранения табличного документа (например, результата отчета) можно вызвать команду Сохранить или Сохранить как… главного меню.
В открывшемся окне требуется выбрать каталог, имя и формат сохраняемого файла.
Для сохранения данных динамических списков (например, списка номенклатуры) необходимо:
Остались вопросы?
Спросите в комментариях к статье.
Стили ссылок А1 и R1C1, или почему в Excel столбцы вместо букв обозначены цифрами? MS Office Excel — Работа на компьютере: инструкции и советы — Образование, воспитание и обучение — Сообщество взаимопомощи учителей
- YES — первая строка воспринимается как названия колонок. К значениям можно обращаться по имени и по индексу колонки.
- NO — первая строка воспринимается как данные. К значениям можно обращаться только по индексу колонки.
Особенностью этого метода является то, что с его помощью считаются все строки – и с данными в ячейках, и без них. Также если в выделенном диапазоне будет присутствовать несколько столбцов, это не повлияет на конечный результат работы функции “ЧСТРОК”.
| Эксель = СоздатьОбъект( «Excel.Application» ); |














