Распределение ячеек в excel

Вы можете разделить содержимое ячейки и распределить ее части по нескольким смежным ячейкам. Например, если ваш сайт содержит столбец «Полное имя», его можно разделить на два столбца: столбец «Имя» и «Фамилия».

Советы: 

  • Альтернативный способ распределения текста по столбцам см. в статье «Разделение текста по столбцам с помощью функций».

  • Ячейки можно объединить с помощью функции СОВКА или С CONCATENATE.

Выполните указанные ниже действия:

Примечание: Диапазон, содержащий столбец, который вы хотите разделить, может включать любое количество строк, но не более одного столбца. Важно оставить достаточное количество пустых столбцов справа от выбранного столбца, чтобы данные в соседних столбцах не перезаписывалися данными, которые нужно распределить. При необходимости вставьте количество пустых столбцов, которых будет достаточно для всех составляющих частей распределенных данных.

  1. Выделите ячейку, диапазон или весь столбец, где содержатся текстовые значения, которые требуется разделить.

  2. На вкладке Данные в группе Работа с данными нажмите кнопку Текст по столбцам.

    Группа "Работа с данными" на вкладке "Данные"

     

  3. Следуя инструкциям мастера текстов, укажите, как вы хотите разделить текст на отдельные столбцы.  

    Примечание: Чтобы получить справку по выполнению всех действий мастера, см. статью, разделите текст на разные столбцы с помощью мастера текстов или нажмите кнопку » Кнопка в мастере текстов».

Эта функция недоступна в Excel в Интернете.

Если у вас есть настольное приложение Excel, вы можете нажать кнопку «Открыть в Excel», чтобы открыть книгу и распределить содержимое ячейки на соседние столбцы.

Сортировка в Excel — инструмент, с помощью которого информацию из таблицы организовывают в необходимом порядке. Данные можно сортировать по алфавиту, по возрастанию и убыванию чисел или по любым пользовательским критериям — например, по должностям сотрудников.

  • Как сделать сортировку данных по одному критерию
  • Как сделать сортировку по нескольким критериям
  • Как сделать пользовательскую сортировку

Сортировка необходима, когда информация в таблице располагается хаотично. Пользователь выбирает столбец и тип сортировки — Excel упорядочивает информацию таблицы по этим критериям.

Разберём на примере.

Воспользуемся отчётом небольшого автосалона. В таблице собрана информация о продажах: характеристики авто, их цена, дата продажи и ответственные менеджеры. Данные расположены беспорядочно.

Таблица, в которой хранятся данные о продажах автосалона
Скриншот: Excel / Skillbox Media

Для примера отсортируем данные по возрастанию цены автомобилей, по дате их продажи и по фамилиям менеджеров.

Сортируем данные по возрастанию цены авто. Выделяем любую ячейку в столбце, данные которого нужно отсортировать. В нашем случае — любую ячейку столбца «Цена, руб.».

Выбираем любую ячейку в столбце, который нужно отсортировать
Скриншот: Excel / Skillbox Media

На вкладке «Главная» нажимаем кнопку «Сортировка и фильтр».

Жмём сюда, чтобы сортировать данные
Скриншот: Excel / Skillbox Media

Выбираем нужный тип сортировки — в нашем случае пункт «Сортировка по возрастанию».

Жмём сюда, чтобы сортировать данные по возрастанию цены
Скриншот: Excel / Skillbox Media

Готово — данные таблицы отсортированы по возрастанию цен на автомобили.

Результат сортировки по возрастанию цены
Скриншот: Excel / Skillbox Media

Сортируем данные по дате продажи авто. Выделяем любую ячейку столбца «Дата продажи», нажимаем кнопку «Сортировка и фильтр» и выбираем нужный тип сортировки. В нашем случае — пункт «Сортировка от старых к новым».

Жмём сюда, чтобы сортировать данные по дате продаж
Скриншот: Excel / Skillbox Media

Готово — данные отсортированы по дате продаж: от более давних к новым.

Результат сортировки по дате
Скриншот: Excel / Skillbox Media

Сортируем данные по фамилиям менеджеров. Выделяем любую ячейку в столбце «Менеджер», нажимаем кнопку «Сортировка и фильтр» и выбираем нужный тип сортировки. В нашем примере отсортируем по алфавиту — выберем пункт «Сортировка от А до Я».

Жмём сюда, чтобы сортировать данные по алфавиту от А до Я
Скриншот: Excel / Skillbox Media

Готово — данные отсортированы по фамилиям менеджеров.

Результат сортировки
Скриншот: Excel / Skillbox Media

Выше мы привели три примера сортировки по одному столбцу. Но иногда требуется отсортировать таблицу одновременно по нескольким критериям.

Разберём, как это сделать, на примере.

Допустим, нужно отсортировать первоначальную таблицу отчётности по двум критериям: по возрастанию цены авто и по фамилиям менеджеров.

Выбираем любую ячейку таблицы и нажимаем кнопку «Сортировка» на вкладке «Данные».

Жмём сюда, чтобы вызвать окно сортировки
Скриншот: Excel / Skillbox Media

В появившемся окне с помощью кнопки «+» добавляем критерии сортировки.

Жмём сюда, чтобы добавить критерии сортировки
Скриншот: Excel / Skillbox Media

Добавляем критерии в необходимой последовательности: сначала — сортировка по фамилии менеджеров, затем — по возрастанию цен на автомобили, которые они продали.

Для этого нажимаем на стрелки под блоком «Столбец» и выбираем параметр «Менеджер». В пункте «Порядок» оставляем параметр «От А до Я».

Выбираем критерии сортировки по первому параметру
Скриншот: Excel / Skillbox Media

Затем снова нажимаем на кнопку «+» и добавляем второй критерий сортировки — «Цена, руб.» → «По возрастанию». Жмём «ОК».

Выбираем критерии сортировки по второму параметру и нажимаем «ОК»
Скриншот: Excel / Skillbox Media

Готово — таблица отсортирована по двум столбцам одновременно.

Результат сортировки по двум критериям — по фамилиям менеджеров и возрастанию цен на автомобили
Скриншот: Excel / Skillbox Media

Выше мы рассмотрели стандартную сортировку: по возрастанию и убыванию, по алфавиту, по дате. Кроме неё, в Excel можно настроить сортировку по критериям, выбранным пользователем.

Функция пригодится, когда нужные критерии не предусмотрены стандартными настройками. Например, если требуется сортировать данные по должностям сотрудников или по названиям отделов. Это называется пользовательской сортировкой.

Схема работы такова:

  • Пользователь создаёт новый список для сортировки и вводит значения столбца, который нужно отсортировать, в необходимом порядке.
  • Потом сортирует таблицу по стандартному пути с помощью меню сортировки.

Для примера отсортируем нашу таблицу по названиям моделей авто. Создадим новый список для пользовательской сортировки.

В операционной системе macOS это делается так: в верхнем меню нажимаем на вкладку «Excel» и выбираем пункт «Параметры…».

Нажимаем сюда, чтобы вызвать панель с дополнительными параметрами Excel в macOS
Скриншот: Excel / Skillbox Media

В появившемся окне нажимаем кнопку «Списки».

Выбираем параметр «Списки»
Скриншот: Excel / Skillbox Media

Затем в правой панели «Пользовательские списки» выбираем пункт «НОВЫЙ СПИСОК», а в левой панели «Элементы списка» вводим элементы списка в нужном порядке.

Выбираем параметр «НОВЫЙ СПИСОК»
Скриншот: Excel / Skillbox Media

Элементы списка можно ввести двумя способами:

  • Напечатать вручную.
  • Импортировать из исходной таблицы и отредактировать.

Пойдём по второму пути. Поставим курсор в строку «Импортировать список из ячеек» и выберем диапазон столбца, значения которого нужно отсортировать. В нашем случае — значения столбца «Марка, модель».

Нажмём кнопку «Импорт».

Выбираем диапазон с элементами списка и импортируем его в меню
Скриншот: Excel / Skillbox Media

Excel импортирует все значения столбца, даже дублирующиеся.

Результат импорта элементов списка
Скриншот: Excel / Skillbox Media

Теперь удалим повторяющиеся значения и расположим их в нужном порядке. Для примера сделаем так:

Устанавливаем необходимый порядок значений
Скриншот: Excel / Skillbox Media

Нажимаем кнопку «Добавить», и список появляется в панели «Пользовательский списки». Закрываем окно.

Список появился в панели пользовательских списков
Скриншот: Excel / Skillbox Media

В операционной системе Windows путь вызова меню «Списки» отличается. Нужно перейти во вкладку «Файл» и выбрать пункты «Параметры» → «Дополнительно» → «Общие» → «Изменить списки». Дальнейшие действия совпадают со схемой, описанной выше.

Теперь отсортируем таблицу по созданному списку. Снова выбираем любую ячейку таблицы и нажимаем кнопку «Сортировка» на вкладке «Данные».

В появившемся окне в блоке «Столбец» выбираем столбец, значения которого нужно отсортировать. В нашем случае — пункт «Марка, модель».

В блоке «Порядок» выбираем созданный список сортировки.

Жмём сюда, чтобы выбрать пользовательский список сортировки
Скриншот: Excel / Skillbox Media

Нажимаем «ОК».

Проверяем настройки сортировки и нажимаем «ОК»
Скриншот: Excel / Skillbox Media

Готово — таблица отсортирована по условиям пользователя. Значения столбца «Марка, модель» расположены в порядке, который мы установили для нового списка.

Результат пользовательской сортировки
Скриншот: Excel / Skillbox Media

Распределение суммы по базе

Афиняне! Повсему вижу я, что Вы как-то по-особеному набожны, ибо проходя и осматривая Ваши святыни, я наткнулся и на жертвенник неведомому богу.

Где-то в библии в адрес древних греков.

В общем и целом написать данную статью подвигла меня очередная лекция на тему себестоимости. Кстати, крайне рекомендую курс для ИТ-менеджеров в открытом университете, который там сейчас находится в открытом доступе.

Итак, классика!

Суть в том, что везде, где я встречаю код распределения (размазывания) одной суммы на другую по некому базису, всё всегда сводится к нахождению коэффициента распределения (когда мы делим распределяемую сумму на сумму базы) и последующего умножения этого коэффициента на базу по строке (например, если мы распределяем пропорционально количеству, то на количество).

Таким образом все сводится к такому вот методу:

Здесь базой является количество, сумма базы = 6, распределяемая сумма = 100. Коэффициент = распределяемая сумма / сумма базы = 100 / 6 = 16,(6) («Шесть в скобках» — это то, как нас учили записывать периодичские дроби. Если кого-то учили иначе — проьба иметь это ввиду). Далее в каждой строке я округляю результат до копеек.

В принципе мы получили то, что хотели — распределили нужную сумму пропорционально количеству. В данном случае у нас крайне удачно получилось с округлением — в первой строке мы округлили вверх и получили одну лишнюю копейку, во второй строке мы округлили вниз и потеряли копейку. И то, что нам так повезло — это воля парня, сказавшего парню из эпиграфа сказать древним грекам все те умные вещи, о которых он им сказал.

Давайте рассмотрим случай, когда тот парень был к нам не так благосклонен, а именно — давайте распределим 10 на 3:

В итоге у нас не хватило одной копейки. Для того, чтобы решить эту проблему, необходимо учесть остаточек в конце. У нас распределенная сумма получилась равна 9,99, а сумма, которую нужно распределить — 10. Разницу, обычно, добавляют к последней строке. Т.е. в последней строке у нас будет 3,34, «чтобы не нарушать отчетности» (с).

Все хрошо, пока потерянная в ходе округления сумма мала и не играет большой роли. Но если мы попытаемся таким же образом распределить 10 на 30 строк, то внезапно окажется, что к последней строке нам нужно прибавить уже не 1 копейку, а 10. Можно, конечно, прибавить сумму остатка к последней строке:

В последней строке в итоге будет сумма 0,33 + 0,10 = 0,43. Если мы распределяем какие-нибудь ксвенные затраты на количество выпуска, то для каждой статьи затрат может набраться весьма большое отклонение, которое все целиком упадет на последнюю строчку. Таким образом продукт, выпущенный нами в последнюю очередь, вберет в свою себестоимость все те отклонения и станет «золотым» )))

Если мы будем дораспределять остаток, то, в принципе, мы также можем попасть на округление и дораспределять нам придется до тх пор, пока все копейки не израсходуются. Это, как мне кажется, несколько неудобно, непрозрачно да и затратно.

Новое решение!

Давным-давно, кажется в позапрошлую работу, меня попросили создать обработку, которая бы перекраивала контуры полей, перераспределяя на их новую площадь какие-то старые остатки на счетах учета затрат на дату распределения. Там как раз сумма распределялась между новыми площадями пропорционально новому метражу. Звучит пространно, но примите на веру (как древние греки), что это относится к обсуждаемой нами задаче распределения суммы по базе. И тогда я как раз «родил» (ага, прям как Авраам Исаака) алгоритм распределения, после которого нет остатка. Странно, но тогдашний мой руководитель так и не понял суть алгоритма, хотя после теста сказал, что все работает и оставил как есть. Западные программисты в таких случаях просто стараются не использовать подобные алгоритмы, так что честь и хвала программистам российским, которые используют и то, в чем не понимают )))

В принципе все просто: мы каждую итерацию должны пересчитывать коэффициент распределения. Давайте построим таблицу с 30-ю записями и добавим колонки для нового коэффициента и по-новому распределенной суммы:

Пример 1. Распределение премии

Предположим, что Вы начальник производственного отдела и Вам предстоит по-честному распределить премию в сумме 100 000 руб. между сотрудниками отдела пропорционально их должностным окладам. Другими словами Вам требуется подобрать коэффициент пропорциональности для вычисления размера премии по окладу.

Первым делом создаём таблицу с исходными данными и формулами, с помощью которых должен быть получен результат. В нашем случае результат — это суммарная величина премии. Очень важно, чтобы целевая ячейка (С8) посредством формул была связана с искомой изменяемой ячейкой (Е2). В примере они связаны через промежуточные формулы, вычисляющие размер премии для каждого сотрудника (С2:С7).

Теперь запускаем Поиск решения и в открывшемся диалоговом окне устанавливаем необходимые параметры. Внешний вид диалоговых окон в разных версиях несколько различается:

Начиная с Excel 2010

1. Целевая ячейка, в которой должен получиться желаемый результат. Целевая ячейка может быть только одна

2. Варианты оптимизации: максимальное возможное значение, минимальное возможное значение или конкретное значение. Если требуется получить конкретное значение, то его следует указать в поле ввода

3. Изменяемых ячеек может быть несколько: отдельные ячейки или диапазоны. Собственно, именно в них Excel перебирает варианты с тем, чтобы получить в целевой ячейке заданное значение

4. Ограничения задаются с помощью кнопки Добавить. Задание ограничений, пожалуй, не менее важный и сложный этап, чем построение формул. Именно ограничения обеспечивают получение правильного результата. Ограничения можно задавать как для отдельных ячеек, так и для диапазонов. Помимо всем понятных знаков =, >=,

5. Кнопка, включающая итеративные вычисления с заданными параметрами.

После нажатия кнопки Найти решение (Выполнить) Вы уже можете видеть в таблице полученный результат. При этом на экране появляется диалоговое окно Результаты поиска решения.

Начиная с Excel 2010

Если результат, который Вы видите в таблице Вас устраивает, то в диалоговом окне Результаты поиска решения нажимаете ОКи фиксируете результат в таблице. Если же результат Вас не устроил, то нажимаете Отменаи возвращаетесь к предыдущему состоянию таблицы.

Решение данной задачи выглядит так

Важно: при любых изменениях исходных данных для получения нового результата Поиск решения придется запускать снова.

Разберём еще одну задачу оптимизации (получение максимальной прибыли)

Пример 2. Мебельное производство (максимизация прибыли)

Фирма производит две модели А и В сборных книжных полок.

Их производство ограничено наличием сырья (высококачественных досок) и временем машинной обработки.

Для каждого изделия модели А требуется 3 м² досок, а для изделия модели В — 4 м². Фирма может получить от своих поставщиков до 1700 м² досок в неделю.

Для каждого изделия модели А требуется 12 мин машинного времени, а для изделия модели В — 30 мин. в неделю можно использовать 160 ч машинного времени.

Сколько изделий каждой модели следует выпускать фирме в неделю для достижения максимальной прибыли, если каждое изделие модели А приносит 60 руб. прибыли, а каждое изделие модели В — 120 руб. прибыли?

Порядок действий нам уже известен.

Сначала создаем таблицы с исходными данными и формулами. Расположение ячеек на листе может быть абсолютно произвольным, таким как удобно автору. Например, как на рисунке

Запускаем Поиск решения и в диалоговом окне устанавливаем необходимые параметры

1. Целевая ячейка F7 содержит формулу для расчёта прибыли

2. Параметр оптимизации — максимум

3. Изменяемые ячейки F3:G3

4. Ограничения: найденные значения должны быть целыми, неотрицательными; общее количество машинного времени не должно превышать 160 ч (ссылка на ячейку D9); общее количество сырья не должно превышать 1700 м² (ссылка на ячейку D8). Здесь вместо ссылок на ячейки D8 и D9 можно было указать числа, но при использовании ссылок какие-либо изменения ограничений можно производить прямо в таблице

5. Нажимаем кнопку Найти решение (Выполнить) и после подтверждения получаем результат

Но даже если Вы правильно создали формулы и задали ограничения, результат может оказаться неожиданным. Например, при решении данной задачи Вы можете увидеть такой результат:

И это несмотря на то, что было задано ограничение целое. В таких случаях можно попробовать настроить параметры Поиска решения. Для этого в окне Поиск решения нажимаем кнопку Параметрыи попадаем в одноимённое диалоговое окно

Первый из выделенных параметров отвечает за точность вычислений. Уменьшая его, можно добиться более точного результата, в нашем случае — целых значений. Второй из выделенных параметров (доступен, начиная с версии Excel 2010) даёт ответ на вопрос: как вообще могли получиться дробные результаты при ограничении целое? Оказывается Поиск решения это ограничение просто проигнорировал в соответствии с установленным флажком.

Пример 3. Транспортная задача (минимизация затрат)

На заказ строительной компании песок перевозиться от трех поставщиков (карьеров) пяти потребителям (строительным площадкам). Стоимость на доставку включается в себестоимость объекта, поэтому строительная компания заинтересована обеспечить потребности своих стройплощадок в песке самым дешевым способом.

Дано: запасы песка на карьерах; потребности в песке стройплощадок; затраты на транспортировку между каждой парой «поставщик-потребитель».

Нужно найти схему оптимальных перевозок для удовлетворения нужд (откуда и куда), при которой общие затраты на транспортировку были бы минимальными.

Пример расположения ячеек с исходными данными и ограничениями, искомых ячеек и целевой ячейки показан на рисунке

В серых ячейках формулы суммы по строкам и столбцам, а в целевой ячейке формула для подсчёта общих затрат на транспортировку.

Запускаем Поиск решения и устанавливаем необходимые параметры (см. рисунок)

Нажимаем Найти решение (Выполнить) и получаем результат, изображенный ниже

Иногда транспортные задачи усложняются с помощью дополнительных ограничений. Например, по каким-то причинам невозможно возить песок с карьера 2 на стройплощадку №3. Добавляем ещё одно ограничение $D$13=0. И после запуска Поиска решения получаем другой результат

И последнее, на что следует обратить внимание, это выбор метода решения. Если задача достаточно сложная, то для достижения результата может потребоваться подобрать метод решения

Поиск решения EXCEL (1.3). Распределение ресурсов (ограничение по количеству оборудования, несколько периодов)

Создадим модель для нахождения наилучшего распределения ресурсов, при котором минимизируются затраты, понесенные за несколько периодов (Allocation Problem). Расчет будем проводить с помощью надстройки Поиск решения.

Задача оптимального распределения ресурсов (распределительная задача) заключается в отыскании наилучшего распределения ресурсов, при котором либо максимизируется результат, либо минимизируются затраты. Задача, в которой минимизируются затраты, понесенные в одном периоде решена в статье Поиск решения MS EXCEL (1.2). Распределение ресурсов (ограничение по количеству оборудования) , и имеет смысл предварительно познакомиться с изложенным там материалом. В этой статье мы решим аналогичную задачу, но для случая работы оборудования в нескольких периодах (пример с сайта www.solver.com ).

Вводная статья про Поиск решения в MS EXCEL 2010 находится здесь .

Задача

Предприятие выпускает монопродукт (только один вид изделия и ничего более) и ему необходимо выполнить заказ клиента. Выпуск продукции осуществляется в течение 5 дней. Отгрузка заказа ежедневная. На предприятии 3 типа оборудования. Каждый тип оборудования выпускает один и тот же продукт. Производительность каждого типа оборудования разная. Каждый тип оборудования имеет постоянную и переменную часть расходов. Переменная часть расходов пропорциональна количеству произведенных изделий. Имеется ограниченное количество единиц оборудования каждого типа (но общее количество оборудования избыточно для выполнения заказа). Требуется минимизировать расходы на оборудование при условии выполнения заказа.

Создание модели

На рисунке ниже приведена модель, созданная для решения задачи (см. файл примера ).

Предприятие несет расходы в зависимости от типа оборудования: использование оборудования типа Alpha-3000 самое дорогое в эксплуатации, но оно и самое производительное. Оборудование типа Alpha-1000 самое дешевое в эксплуатации, но оно и менее производительное. Задача Поиска решения выбрать наиболее дешевое оборудование, так чтобы заказ был выполнен (мощностей Alpha-1000 не хватит для выполнения заказа). Казалось бы, решение очевидно (взять по максимуму дешевое оборудование, остальную производительность обеспечить более дорогим). Однако, если учесть, что из-за низкой производительности дешевых машин приходится их брать больше, неся существенные постоянные расходы, то решение уже не кажется очевидным.

Переменные (выделено зеленым) . В качестве переменных модели следует взять количество задействованных единиц оборудования каждого типа и суммарное количество продукции, выпущенное на каждом типе оборудования (производительность задается не для каждой единицы, а для типа в целом). Для наглядности диапазонам ячеек, содержащих переменные, присвоены имена Машин_Задействовано и Продукции_выпущено.

Ограничения (выделено синим) . Количество задействованных машин должно быть целым числом. Количество задействованных машин каждого типа должно быть не больше, чем имеется в наличии (используются именованные диапазоны Alpha XXXX _Задействовано и Alpha XXXX _в_наличии ). Всего должно быть выпущено продукции не меньше чем величина заказа (используется именованный диапазон Продукции выпущено_Итого ). В день возможно производить больше продукции, чем требуется в день заказа, излишек переносится на следующий день. Также необходимо ограничить производительность задействованного оборудования. Производительность задается не для каждой единицы, а для типа в целом (используются именованные диапазоны Продукции выпущено и Макс_производительность_задейств_машин ).

Целевая функция (выделено красным) . Целевая функция – это сумма операционных расходов за 5 дней. Операционные расходы, понесенные за день, задается формулой =СУММПРОИЗВ(B19:B21; Расходы_переменные)+ СУММПРОИЗВ(B13:B15; Расходы_постоянные) B19:B21 – количество продукции, выпущенной в определенный день. B13:B15 — количество задействованных машин в определенный день.

Это суммарные операционные расходы (переменная и постоянные части). Сумма операционных расходов за 5 дней должна быть минимизирована.

Убедитесь, что метод решения соответствует линейной задаче. Параметры Поиска решения были выбраны следующие:

Теперь в диалоговом окне можно нажать кнопку Найти решение .

Результаты расчетов

Поиск решения подберет оптимальный набор единиц оборудования по типам и их производительность, при котором операционные расходы будут минимальные, а заказ выполнен. В нашей задаче было установлено целочисленное ограничение, что существенно усложняет задачу поиска и, соответственно, сказывается на скорости расчета. Как показано на рисунке выше, Целочисленная оптимальность была выбрана 0% ( Целочисленная оптимальность (Integer Optimality) позволяет Поиску решения остановить поиск, в случае, если он найдет целочисленное решение, в пределах указанного процента от оптимального). В нашем случае (0%), требуется найти лучшее из известных Поиску решения решений. Поиск в этом случае занял 8 секунд, результат 23 311,50. Установив Целочисленную оптимальность 1%, поиск займет 0,2 сек, результат 23 370,50 (отличие на 0,3%). Это информация к размышлению: стоит ли увеличение точности на 0,3% уменьшения скорости расчетов более чем на порядок? Решать Вам. В любом случае, первые расчеты модели лучше проводить при Целочисленной оптимальности не равной 0%.

Распределение суммы по базе

Афиняне! Повсему вижу я, что Вы как-то по-особеному набожны, ибо проходя и осматривая Ваши святыни, я наткнулся и на жертвенник неведомому богу.

Где-то в библии в адрес древних греков.

В общем и целом написать данную статью подвигла меня очередная лекция на тему себестоимости. Кстати, крайне рекомендую курс для ИТ-менеджеров в открытом университете, который там сейчас находится в открытом доступе.

Итак, классика!

Суть в том, что везде, где я встречаю код распределения (размазывания) одной суммы на другую по некому базису, всё всегда сводится к нахождению коэффициента распределения (когда мы делим распределяемую сумму на сумму базы) и последующего умножения этого коэффициента на базу по строке (например, если мы распределяем пропорционально количеству, то на количество).

Таким образом все сводится к такому вот методу:

Здесь базой является количество, сумма базы = 6, распределяемая сумма = 100. Коэффициент = распределяемая сумма / сумма базы = 100 / 6 = 16,(6) («Шесть в скобках» — это то, как нас учили записывать периодичские дроби. Если кого-то учили иначе — проьба иметь это ввиду). Далее в каждой строке я округляю результат до копеек.

В принципе мы получили то, что хотели — распределили нужную сумму пропорционально количеству. В данном случае у нас крайне удачно получилось с округлением — в первой строке мы округлили вверх и получили одну лишнюю копейку, во второй строке мы округлили вниз и потеряли копейку. И то, что нам так повезло — это воля парня, сказавшего парню из эпиграфа сказать древним грекам все те умные вещи, о которых он им сказал.

Давайте рассмотрим случай, когда тот парень был к нам не так благосклонен, а именно — давайте распределим 10 на 3:

В итоге у нас не хватило одной копейки. Для того, чтобы решить эту проблему, необходимо учесть остаточек в конце. У нас распределенная сумма получилась равна 9,99, а сумма, которую нужно распределить — 10. Разницу, обычно, добавляют к последней строке. Т.е. в последней строке у нас будет 3,34, «чтобы не нарушать отчетности» (с).

Все хрошо, пока потерянная в ходе округления сумма мала и не играет большой роли. Но если мы попытаемся таким же образом распределить 10 на 30 строк, то внезапно окажется, что к последней строке нам нужно прибавить уже не 1 копейку, а 10. Можно, конечно, прибавить сумму остатка к последней строке:

В последней строке в итоге будет сумма 0,33 + 0,10 = 0,43. Если мы распределяем какие-нибудь ксвенные затраты на количество выпуска, то для каждой статьи затрат может набраться весьма большое отклонение, которое все целиком упадет на последнюю строчку. Таким образом продукт, выпущенный нами в последнюю очередь, вберет в свою себестоимость все те отклонения и станет «золотым» )))

Если мы будем дораспределять остаток, то, в принципе, мы также можем попасть на округление и дораспределять нам придется до тх пор, пока все копейки не израсходуются. Это, как мне кажется, несколько неудобно, непрозрачно да и затратно.

Новое решение!

Давным-давно, кажется в позапрошлую работу, меня попросили создать обработку, которая бы перекраивала контуры полей, перераспределяя на их новую площадь какие-то старые остатки на счетах учета затрат на дату распределения. Там как раз сумма распределялась между новыми площадями пропорционально новому метражу. Звучит пространно, но примите на веру (как древние греки), что это относится к обсуждаемой нами задаче распределения суммы по базе. И тогда я как раз «родил» (ага, прям как Авраам Исаака) алгоритм распределения, после которого нет остатка. Странно, но тогдашний мой руководитель так и не понял суть алгоритма, хотя после теста сказал, что все работает и оставил как есть. Западные программисты в таких случаях просто стараются не использовать подобные алгоритмы, так что честь и хвала программистам российским, которые используют и то, в чем не понимают )))

В принципе все просто: мы каждую итерацию должны пересчитывать коэффициент распределения. Давайте построим таблицу с 30-ю записями и добавим колонки для нового коэффициента и по-новому распределенной суммы:

5 основ Excel (обучение): как написать формулу, как посчитать сумму, сложение с условием, счет строк и пр.

Здравствуйте!

Многие кто не пользуются Excel — даже не представляют, какие возможности дает эта программа! ☝

Подумать только: складывать в автоматическом режиме значения из одних формул в другие, искать нужные строки в тексте, создавать собственные условия и т.д. — в общем-то, по сути мини-язык программирования для решения «узких» задач (признаться честно, я сам долгое время Excel не рассматривал за программу, и почти его не использовал) .

В этой статье хочу показать несколько примеров, как можно быстро решать повседневные офисные задачи: что-то сложить, вычесть, посчитать сумму (в том числе и с условием) , подставить значения из одной таблицы в другую и т.д.

То есть эта статья будет что-то мини гайда по обучению самому нужному для работы (точнее, чтобы начать пользоваться Excel и почувствовать всю мощь этого продукта!) .

Возможно, что прочти подобную статью лет 17-20 назад, я бы сам намного быстрее начал пользоваться Excel (и сэкономил бы кучу своего времени для решения «простых» задач. 👌

Обучение основам Excel: ячейки и числа

Примечание : все скриншоты ниже представлены из программы Excel 2016 (как одной из самой новой на сегодняшний день).

Многие начинающие пользователи, после запуска Excel — задают один странный вопрос: «ну и где тут таблица?». Между тем, все клеточки, что вы видите после запуска программы — это и есть одна большая таблица!

Теперь к главному : в любой клетке может быть текст, какое-нибудь число, или формула. Например, ниже на скриншоте показан один показательный пример:

  • слева : в ячейке (A1) написано простое число «6». Обратите внимание, когда вы выбираете эту ячейку, то в строке формулы (Fx) показывается просто число «6».
  • справа : в ячейке (C1) с виду тоже простое число «6», но если выбрать эту ячейку, то вы увидите формулу «=3+3» — это и есть важная фишка в Excel!

Просто число (слева) и посчитанная формула (справа)

👉 Суть в том, что Excel может считать как калькулятор, если выбрать какую нибудь ячейку, а потом написать формулу, например «=3+5+8» (без кавычек). Результат вам писать не нужно — Excel посчитает его сам и отобразит в ячейке (как в ячейке C1 в примере выше)!

Но писать в формулы и складывать можно не просто числа, но и числа, уже посчитанные в других ячейках. На скриншоте ниже в ячейке A1 и B1 числа 5 и 6 соответственно. В ячейке D1 я хочу получить их сумму — можно написать формулу двумя способами:

  • первый: «=5+6» (не совсем удобно, представьте, что в ячейке A1 — у нас число тоже считается по какой-нибудь другой формуле и оно меняется. Не будете же вы подставлять вместо 5 каждый раз заново число?!);
  • второй: «=A1+B1» — а вот это идеальный вариант, просто складываем значение ячеек A1 и B1 (несмотря даже какие числа в них!).

Сложение ячеек, в которых уже есть числа

Распространение формулы на другие ячейки

В примере выше мы сложили два числа в столбце A и B в первой строке. Но строк то у нас 6, и чаще всего в реальных задачах сложить числа нужно в каждой строке! Чтобы это сделать, можно:

  1. в строке 2 написать формулу «=A2+B2» , в строке 3 — «=A3+B3» и т.д. (это долго и утомительно, этот вариант никогда не используют) ;
  2. выбрать ячейку D1 (в которой уже есть формула) , затем подвести указатель мышки к правому уголку ячейки, чтобы появился черный крестик (см. скрин ниже) . Затем зажать левую кнопку и растянуть формулу на весь столбец. Удобно и быстро! ( Примечание : так же можно использовать для формул комбинации Ctrl+C и Ctrl+V (скопировать и вставить соответственно)) .

Кстати, обратите внимание на то, что Excel сам подставил формулы в каждую строку. То есть, если сейчас вы выберите ячейку, скажем, D2 — то увидите формулу «=A2+B2» (т.е. Excel автоматически подставляет формулы и сразу же выдает результат) .

Как задать константу (ячейку, которая не будет меняться при копировании формулы)

Довольно часто требуется в формулах (когда вы их копируете), чтобы какой-нибудь значение не менялось. Скажем простая задача: перевести цены в долларах в рубли. Стоимость рубля задается в одной ячейке, в моем примере ниже — это G2.

Далее в ячейке E2 пишется формула «=D2*G2» и получаем результат. Только вот если растянуть формулу, как мы это делали до этого, в других строках результата мы не увидим, т.к. Excel в строку 3 поставит формулу «D3*G3», в 4-ю строку: «D4*G4» и т.д. Надо же, чтобы G2 везде оставалась G2.

Чтобы это сделать — просто измените ячейку E2 — формула будет иметь вид «=D2*$G$2». Т.е. значок доллара $ — позволяет задавать ячейку, которая не будет меняться, когда вы будете копировать формулу (т.е. получаем константу, пример ниже) .

Константа / в формуле ячейка не изменяется

Как посчитать сумму (формулы СУММ и СУММЕСЛИМН)

Можно, конечно, составлять формулы в ручном режиме, печатая «=A1+B1+C1» и т.п. Но в Excel есть более быстрые и удобные инструменты.

Один из самых простых способов сложить все выделенные ячейки — это использовать опцию автосуммы (Excel сам напишет формулу и вставить ее в ячейку) .

Что нужно сделать, чтобы посчитать сумму определенных ячеек:

  1. сначала выделяем ячейки (см. скрин ниже 👇) ;
  2. далее открываем раздел «Формулы» ;
  3. следующий шаг жмем кнопку «Автосумма» . Под выделенными вами ячейками появиться результат из сложения;
  4. если выделить ячейку с результатом (в моем случае — это ячейка E8) — то вы увидите формулу «=СУММ(E2:E7)» .
  5. таким образом, написав формулу «=СУММ(xx)» , где вместо xx поставить (или выделить) любые ячейки, можно считать самые разнообразные диапазоны ячеек, столбцов, строк.

Автосумма выделенных ячеек

Как посчитать сумму с каким-нибудь условием

Довольно часто при работе требуется не просто сумма всего столбца, а сумма определенных строк (т.е. выборочно). Предположим простую задачу: нужно получить сумму прибыли от какого-нибудь рабочего (утрировано, конечно, но пример более чем реальный) .

Я в своей таблицы буду использовать всего 7 строк (для наглядности) , реальная же таблица может быть намного больше. Предположим, нам нужно посчитать всю прибыль, которую сделал «Саша». Как будет выглядеть формула:

  1. » =СУММЕСЛИМН( F2:F7 ; A2:A7 ;»Саша») » — ( прим .: обратите внимание на кавычки для условия — они должны быть как на скрине ниже, а не как у меня сейчас написано на блоге) . Так же обратите внимание, что Excel при вбивании начала формулы (к примеру «СУММ. «), сам подсказывает и подставляет возможные варианты — а формул в Excel’e сотни!;
  2. F2:F7 — это диапазон, по которому будут складываться (суммироваться) числа из ячеек;
  3. A2:A7 — это столбик, по которому будет проверяться наше условие;
  4. «Саша» — это условие, те строки, в которых в столбце A будет «Саша» будут сложены (обратите внимание на показательный скриншот ниже) .

Сумма с условием

Примечание : условий может быть несколько и проверять их можно по разным столбцам.

Как посчитать количество строк (с одним, двумя и более условием)

Довольно типичная задача: посчитать не сумму в ячейках, а количество строк, удовлетворяющих какомe-либо условию.

Ну, например, сколько раз имя «Саша» встречается в таблице ниже (см. скриншот). Очевидно, что 2 раза (но это потому, что таблица слишком маленькая и взята в качестве наглядного примера). А как это посчитать формулой?

«=СЧЁТЕСЛИ( A2:A7 ; A2 )» — где:

  • A2:A7 — диапазон, в котором будут проверяться и считаться строки;
  • A2 — задается условие (обратите внимание, что можно было написать условие вида «Саша», а можно просто указать ячейку).

Результат показан в правой части на скрине ниже.

Количество строк с одним условием

Теперь представьте более расширенную задачу: нужно посчитать строки, где встречается имя «Саша», и где в столбце «B» будет стоять цифра «6». Забегая вперед, скажу, что такая строка всего лишь одна (скрин с примером ниже) .

Формула будет иметь вид:

=СЧЁТЕСЛИМН( A2:A7 ; A2 ; B2:B7 ;»6″) — (прим.: обратите внимание на кавычки — они должны быть как на скрине ниже, а не как у меня) , где:

A2:A7 ; A2 — первый диапазон и условие для поиска (аналогично примеру выше);

B2:B7 ;»6″ — второй диапазон и условие для поиска (обратите внимание, что условие можно задавать по разному: либо указывать ячейку, либо просто написано в кавычках текст/число).

Счет строк с двумя и более условиями

Как посчитать процент от суммы

Тоже довольно распространенный вопрос, с которым часто сталкиваюсь. Вообще, насколько я себе представляю, возникает он чаще всего — из-за того, что люди путаются и не знают, что от чего ищут процент (да и вообще, плохо понимают тему процентов (хотя я и сам не большой математик, и все таки. ☝) ).

👉 В помощь!

Как посчитать проценты: от числа, от суммы чисел и др. [в уме, на калькуляторе и с помощью Excel] — заметка для начинающих

Самый простой способ, в котором просто невозможно запутаться — это использовать правило «квадрата», или пропорции.

Вся суть приведена на скрине ниже: если у вас есть общая сумма, допустим в моем примере это число 3060 — ячейка F8 (т.е. это 100% прибыль, и какую то ее часть сделал «Саша», нужно найти какую. ).

По пропорции формула будет выглядеть так: =F10*G8/F8 (т.е. крест на крест: сначала перемножаем два известных числа по диагонали, а затем делим на оставшееся третье число).

В принципе, используя это правило, запутаться в процентах практически невозможно 👌.

Пример решения задач с процентами

PS

Собственно, на этом я завершаю данную статью. Не побоюсь сказать, что освоив все, что написано выше (а приведено здесь всего лишь «пяток» формул) — Вы дальше сможете самостоятельно обучаться Excel, листать справку, смотреть, экспериментировать, и анализировать. 👌

Скажу даже больше, все что я описал выше, покроет многие задачи, и позволит решать всё самое распространенное, над которым часто ломаешь голову (если не знаешь возможности Excel) , и даже не догадывается как быстро это можно сделать. ✔

Как распределить сумму пропорционально между др. ячейками

jordann

Дата: Суббота, 25.04.2015, 19:28 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Всем привет !
Подскажите как распределить сумму из одной ячейки пропорционально между суммами в других ячейках ?

 

Ответить

Pelena

Дата: Суббота, 25.04.2015, 19:33 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Здравствуйте.
Например, так

Код

=D9/СУММ($D$9:$E$11)*$F$3

К сообщению приложен файл:

2711820.xls
(42.0 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

buchlotnik

Дата: Суббота, 25.04.2015, 19:36 |
Сообщение № 3

Группа: Заблокированные

Ранг: Участник клуба

Сообщений: 3442


Репутация:

929

±

Замечаний:
20% ±


2010, 2013, 2016 RUS / ENG

так?

Код

=D9/СУММ($D$9:$E$13)*$F$3

К сообщению приложен файл:

3966414.xls
(43.5 Kb)

 

Ответить

jordann

Дата: Воскресенье, 26.04.2015, 04:27 |
Сообщение № 4

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Pelena, buchlotnik

Да именно так. Спасибо большое !

 

Ответить

Для этого выделите ячейку, содержимое которой вы хотите разбить на несколько клеток. Затем откройте вкладку «Данные» и пункт «Работа с данными». Нажмите на пиктограмму «Текст по столбцам».

Разбить содержимое ячеек по столбцам. Разделение данных ячейки по нескольким стоблцам помогает представить информацию более наглядно

Разбить содержимое ячеек по столбцам. Разделение данных ячейки по нескольким стоблцам помогает представить информацию более наглядно

Перейдите в «Мастере распределения текста по столбцам» к пункту «С разделителями», поставьте галочку и нажмите на «Далее». В качестве символа-разделителя выберите «пробел».

xls2Как в Excel разнести данные из одной ячейки по нескольким столбцамОбратите внимание, перед пунктом «Считать последовательные разделители одним» должна стоять галочка. Это поможет Вам избежать ошибок. Нажмите на «Далее». Подтвердите внесение изменений нажатием на «Готово».

Excel разобьет содержимое ячеек на несколько столбцов.

Фото: компания-производитель

Like this post? Please share to your friends:
  • Распределение чисел по интервалам в excel
  • Распределение формул в excel
  • Расположение excel на компьютере
  • Расположена диаграмма программы excel
  • Распознать число в ячейке excel