- Работа в Excel с формулами и таблицами для чайников
- Формулы в Excel для чайников
- Как в формуле Excel обозначить постоянную ячейку
- Как составить таблицу в Excel с формулами
- Программный вывод таблицы значений на управляемую форму 8.2
- Таблица значений в 1С 8.3
- Создание таблицы значений
- Типы колонок таблицы значений
- Работа с колонками таблицы значений
- Изменение значений в существующих строках
- Перебор строк таблицы значений
- Удаление строк
- Вывод таблицы значений в Excel
Работа в Excel с формулами и таблицами для чайников
Формула предписывает программе Excel порядок действий с числами, значениями в ячейке или группе ячеек. Без формул электронные таблицы не нужны в принципе.
Конструкция формулы включает в себя: константы, операторы, ссылки, функции, имена диапазонов, круглые скобки содержащие аргументы и другие формулы. На примере разберем практическое применение формул для начинающих пользователей.
Формулы в Excel для чайников
Чтобы задать формулу для ячейки, необходимо активизировать ее (поставить курсор) и ввести равно (=). Так же можно вводить знак равенства в строку формул. После введения формулы нажать Enter. В ячейке появится результат вычислений.
В Excel применяются стандартные математические операторы:
Оператор | Операция | Пример |
+ (плюс) | Сложение | =В4+7 |
— (минус) | Вычитание | =А9-100 |
* (звездочка) | Умножение | =А3*2 |
/ (наклонная черта) | Деление | =А7/А8 |
^ (циркумфлекс) | Степень | =6^2 |
= (знак равенства) | Равно | |
Больше | ||
= | Больше или равно | |
<> | Не равно |
Символ «*» используется обязательно при умножении. Опускать его, как принято во время письменных арифметических вычислений, недопустимо. То есть запись (2+3)5 Excel не поймет.
Программу Excel можно использовать как калькулятор. То есть вводить в формулу числа и операторы математических вычислений и сразу получать результат.
Но чаще вводятся адреса ячеек. То есть пользователь вводит ссылку на ячейку, со значением которой будет оперировать формула.
При изменении значений в ячейках формула автоматически пересчитывает результат.
Ссылки можно комбинировать в рамках одной формулы с простыми числами.
Оператор умножил значение ячейки В2 на 0,5. Чтобы ввести в формулу ссылку на ячейку, достаточно щелкнуть по этой ячейке.
В нашем примере:
- Поставили курсор в ячейку В3 и ввели =.
- Щелкнули по ячейке В2 – Excel «обозначил» ее (имя ячейки появилось в формуле, вокруг ячейки образовался «мелькающий» прямоугольник).
- Ввели знак *, значение 0,5 с клавиатуры и нажали ВВОД.
Если в одной формуле применяется несколько операторов, то программа обработает их в следующей последовательности:
Поменять последовательность можно посредством круглых скобок: Excel в первую очередь вычисляет значение выражения в скобках.
Как в формуле Excel обозначить постоянную ячейку
Различают два вида ссылок на ячейки: относительные и абсолютные. При копировании формулы эти ссылки ведут себя по-разному: относительные изменяются, абсолютные остаются постоянными.
Все ссылки на ячейки программа считает относительными, если пользователем не задано другое условие. С помощью относительных ссылок можно размножить одну и ту же формулу на несколько строк или столбцов.
- Вручную заполним первые графы учебной таблицы. У нас – такой вариант:
- Вспомним из математики: чтобы найти стоимость нескольких единиц товара, нужно цену за 1 единицу умножить на количество. Для вычисления стоимости введем формулу в ячейку D2: = цена за единицу * количество. Константы формулы – ссылки на ячейки с соответствующими значениями.
- Нажимаем ВВОД – программа отображает значение умножения. Те же манипуляции необходимо произвести для всех ячеек. Как в Excel задать формулу для столбца: копируем формулу из первой ячейки в другие строки. Относительные ссылки – в помощь.
Находим в правом нижнем углу первой ячейки столбца маркер автозаполнения. Нажимаем на эту точку левой кнопкой мыши, держим ее и «тащим» вниз по столбцу.
Отпускаем кнопку мыши – формула скопируется в выбранные ячейки с относительными ссылками. То есть в каждой ячейке будет своя формула со своими аргументами.
Ссылки в ячейке соотнесены со строкой.
Формула с абсолютной ссылкой ссылается на одну и ту же ячейку. То есть при автозаполнении или копировании константа остается неизменной (или постоянной).
Чтобы указать Excel на абсолютную ссылку, пользователю необходимо поставить знак доллара ($). Проще всего это сделать с помощью клавиши F4.
- Создадим строку «Итого». Найдем общую стоимость всех товаров. Выделяем числовые значения столбца «Стоимость» плюс еще одну ячейку. Это диапазон D2:D9
- Воспользуемся функцией автозаполнения. Кнопка находится на вкладке «Главная» в группе инструментов «Редактирование».
- После нажатия на значок «Сумма» (или комбинации клавиш ALT+«=») слаживаются выделенные числа и отображается результат в пустой ячейке.
Сделаем еще один столбец, где рассчитаем долю каждого товара в общей стоимости. Для этого нужно:
- Разделить стоимость одного товара на стоимость всех товаров и результат умножить на 100. Ссылка на ячейку со значением общей стоимости должна быть абсолютной, чтобы при копировании она оставалась неизменной.
- Чтобы получить проценты в Excel, не обязательно умножать частное на 100. Выделяем ячейку с результатом и нажимаем «Процентный формат». Или нажимаем комбинацию горячих клавиш: CTRL+SHIFT+5
- Копируем формулу на весь столбец: меняется только первое значение в формуле (относительная ссылка). Второе (абсолютная ссылка) остается прежним. Проверим правильность вычислений – найдем итог. 100%. Все правильно.
При создании формул используются следующие форматы абсолютных ссылок:
- $В$2 – при копировании остаются постоянными столбец и строка;
- B$2 – при копировании неизменна строка;
- $B2 – столбец не изменяется.
Как составить таблицу в Excel с формулами
Чтобы сэкономить время при введении однотипных формул в ячейки таблицы, применяются маркеры автозаполнения. Если нужно закрепить ссылку, делаем ее абсолютной. Для изменения значений при копировании относительной ссылки.
Простейшие формулы заполнения таблиц в Excel:
- Перед наименованиями товаров вставим еще один столбец. Выделяем любую ячейку в первой графе, щелкаем правой кнопкой мыши. Нажимаем «Вставить». Или жмем сначала комбинацию клавиш: CTRL+ПРОБЕЛ, чтобы выделить весь столбец листа. А потом комбинация: CTRL+SHIFT+»=», чтобы вставить столбец.
- Назовем новую графу «№ п/п». Вводим в первую ячейку «1», во вторую – «2». Выделяем первые две ячейки – «цепляем» левой кнопкой мыши маркер автозаполнения – тянем вниз.
- По такому же принципу можно заполнить, например, даты. Если промежутки между ними одинаковые – день, месяц, год. Введем в первую ячейку «окт.15», во вторую – «ноя.15». Выделим первые две ячейки и «протянем» за маркер вниз.
- Найдем среднюю цену товаров. Выделяем столбец с ценами + еще одну ячейку. Открываем меню кнопки «Сумма» — выбираем формулу для автоматического расчета среднего значения.
Чтобы проверить правильность вставленной формулы, дважды щелкните по ячейке с результатом.
Источник
Программный вывод таблицы значений на управляемую форму 8.2
Обработка демонстрирует пример вывода таблицы значений с произвольной структурой на управляемую форму 8.2. Вывод таблицы реализован в виде отдельной процедуры, в которую таблица значений передается в качестве параметра. Это позволяет встроить её в общий модуль, и удобно использовать при необходимости.
Спасибо! Программно добавил колонки в тз и долго мучился с выводом их на форму. Постоянно была Ошибка при установке значения атрибута контекста (ПутьКДанным) по причине: Недопустимое значение.
Оказалось что перед добавлением элементов формы нужно еще реквизиты формы добавить (ИзменитьРеквизиты).
Если бы в коде (3) была проверка на ПрограммноСозданныйРеквизит да и еще для внешней обработки, то юзал бы Ваш код «as is»:)
Уникальности никакой нет, на неё и не претендую. Обработка находится в нужное время, в нужном месте, пользуется спросом. У самого на днях стояла такая задача. Пришлось порыться в интернете, литературы под рукой не было. На инфостарте не нашел.
Особенностью обработки считаю универсальную процедуру, т.к. в инете есть примеры с конкретной структурой.
Я пробовал вышеуказанный код — у меня не работало удаление таблицы значений из управляемой формы. В итоге сделал свою модификацию:
Удаление таблицы значений из управляемой формы
Удалять реквизиты таблицы значений нет нужды — достаточно удалить саму таблицу значений.
Ну и до кучи — процедура вывода таблицы значений на управляемую форму:
&НаСервере
Процедура УдалитьТЗ(УФ, НомерТЗ=»1″) Экспорт
ИмяТЗНаФорме = ИмяТаблицы + НомерТЗ;
// Если удаляемая таблица значений действительно присутствует на данной управляемой форме
Если НЕ УФ.Элементы.Найти(ИмяТЗНаФорме) = Неопределено Тогда
// Сначала удалим реквизит «Таблица значений» из УФ
МассивИменУдаляемыхРеквизитов = Новый Массив;
Если НЕ УдаляемыйЭлемент = Неопределено Тогда
// Теперь удалим элемент формы, который служил для визуального отображения
// удалённого реквизита УФ «Таблица значений»
УФ.Элементы.Удалить(УдаляемыйЭлемент);
Источник
Таблица значений в 1С 8.3
Таблица значений — это универсальная коллекция 1С, которая предназначена для хранения данных в табличном виде. Таблица значений хранит ссылки на объекты СтрокаТаблицыЗначений. Помимо строк у таблицы есть колонки. Таблицу значений нельзя создать на клиенте и нельзя передавать между клиентом и сервером.
Создание таблицы значений
Для создания таблицы значений используются конструктор:
В данной таблице не будет ни одной колонки и добавление в нее строк бессмысленно. Для добавления колонок нужно использовать свойство Колонки таблицы значений:
Теперь в таблицу можно добавить несколько строк. Добавление строк выполняется методом Добавить. Данный метод вернет строку таблицу значений. К именам колонок таблицы значений можно обращаться как к свойствам строки:
Типы колонок таблицы значений
В таблицу было добавлено 2 колонки. Тип не был определен и поэтому в эту колонку можно поместить любой тип данных, тип будет определяться в зависимости от типа данных значения в колонке. В примере выше тип колонки Товар — строка, а колонки Цена — число. Если добавить еще одну строку с другим типом, то тип колонки станет составным:
Тип можно указать при добавлении новой колонки, тогда в нее можно будет помещать значения только данного типа, для всех остальных значений будет выполняться преобразование типа:
Работа с колонками таблицы значений
Для проверки наличия необходимой колонки в таблице можно выполнить поиск в коллекции колонок. Если такой колонки нет, то метод Найти вернет Неопределено:
Колонку можно переименовать. При этом, значения в данной колонке сохранятся. Изменить тип колонки нельзя.
Колонки можно удалять, соответственно будут удалены и все значения в данной колонке:
Изменение значений в существующих строках
К строкам таблицы значений можно обращаться через оператор индексации [ ]. Индексация строк начинается с нуля, чтобы изменить значение в первой строке нужно использовать индекс 0:
Перебор строк таблицы значений
Перебрать все строки таблицы значений можно с помощью циклов Для Каждого и Для. При необходимости на каждой итерации цикла можно изменить значения колонок строки.
Удаление строк
Удалить строку из таблицы можно методом Удалить. Параметром можно передать индекс строки или саму строку. Для удаления всех строк таблицы можно воспользоваться методом Очистить.
Иногда нужно удалить несколько строк из таблицы по условию. Например, все строки, где цена меньше 100. На первый взгляд это можно сделать так:
Однако после удаления линейка осталась в таблице, хотя ее цена равна 80. Почему так произошло? При удалении строки, таблица как бы сжимается. То есть на первой итерации цикла мы получили первую строку с диваном, его цена больше 100, поэтому строка осталась. Получаем вторую строку с ручкой за 50. Так как цена меньше 100, строка была удалена. И после удаления все строки сдвинулись, третья строка переместилась на вторую позицию, четвертая на третью и т.д. На следующей итерации мы получаем третью строку, а там уже кресло за 2000. Линейка была пропущена, цикл даже не проверял ее цену.
Поэтому правильно удалять строки с конца таблицы. При удалении строки цикл может несколько раз пройти по одной строке, но точно не пропустит ни одну строку:
Источник
Вывод таблицы значений в Excel
Творчество — вот залог долгой и счастливой жизни. Радость познания и открытий, решение задач и головоломок делают наш земной путь увлекательным и полезным. Подобно герою Владимира Гиляровского любой программист в 1С может привести немало примеров нечаянной радости, которую дарит ему его профессия. В моем случае дело было так.
Однажды мне понадобилось вывести в Excel небольшую таблицу. Задача была выполнена и программа пылилась на полке до следующего случая. В начале года этот случай настал, но обнаружилась неприятная вещь. Для больших объемов данных реализованный метод вывода оказался крайне неэффективны, поэтому пришлось заняться оптимизацией. И вот что получилось.
Основная идея состояла в обращении к именованным ячейкам. Причем именованные ячейки использовались для табличной, многострочной части отчета. В 1С это реализовано просто. В шаблоне отчета размещается область с именованными ячейками, затем при выводе данных идет заполнение параметров области и сформированная строка добавляется в табличный документ. Что-то подобное сделаем и в Excel. На первом шаге подготовим шаблон, который мы планируем использовать для вывода.
На рисунке показан список именованных ячеек. Все они находятся в области СтрокаДанных, которая размещена под заголовком таблицы, и образует пустую строку. В этой области в колонке Страна мы предусмотрели вывод значения по умолчанию «РФ». Следующий шаг — создать на основании данного шаблона таблицу Excel и прочитать все имена, которые мы присвоили ячейкам. Фрагмент кода приведен ниже.
Предполагается, что имена ячеек на листе совпадают с именами колонок таблицы значений (мТЗ), которую мы подготовим для формирования отчета. В общем случае, разумеется, не все именованные ячейки могут дублироваться в структуре таблицы. Теперь заполним структуру данных типа Соответствие (Map в английской записи), при этом ключ — это имя ячейки, а значение — номер колонки, в которой ячейка располагается. Код приводим ниже.
В данном фрагменте, мы не только заполняем соответствие с именем мИмяДанных, но и готовим информацию со значениями по умолчанию (соответствие DefaultValue). Кроме этого, предусмотрим возможность выводить числа и даты в нужном формате. С этой целью сформируем два массива с именами колонок, которые надо форматировать при выводе (мЧислоФормат и мДатаФормат).
Небольшой комментарий к приведенному коду. Строку для вывода мы добавляем перед строкой с номером, который хранится в переменной row, при этом используем форматирование ячеек, расположенных ниже и правее. В результате именованная область ОбластьДанных постоянно смещается вниз. Поэтому,закончив вывод таблицы значений, мы ее очищаем, чтобы убрать размещенные в шаблоне значения по умолчанию.
Источник