Задать вопрос
anthtml
@anthtml
Системный администратор программист радиолюбитель

Как у чисел разделить целую и дробную часть и вывести каждую сумму в разных ячейках?

Необходимо просуммировать числа в диапазоне ячеек (30-40 ячеек), но так чтобы целые части чисел суммировались отдельно, а дробные отдельно.
К примеру результатами суммы 8.1+7.3+4.2 были числа 19 и 6 (в разных ячейках).
Возможно ли это сделать группируя формулы СУММ(), СУММЕСЛИ(), ОТБОР(), ОСТАТ() или данная операция возможна только с привлечением макросов VBA?
  • Вопрос задан
  • 6157 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
zamboga
@zamboga
Аналитика данных, BI-аналитика, дашборды
Вариант 1. Разбить эту колонку на столбцы, символ разделения -- запятая или точка (в зависимости от исходника). Далее суммируете каждую новую колонку по отдельности.

UPD
Вариант 2. Через формулы массива.

Для суммы целых: =СУММ(ЦЕЛОЕ(A1:A4))
Для суммы дробной части: =СУММ(A1:A4-ЦЕЛОЕ(A1:A4))
A1:A4 — нужный вам диапазон.

Если не имели дело с формулами массивов, то обратите внимание, что формула будет в фигурных скобках: { }, иначе получите ошибку.
Только с клавиатуры { } вводить бесполезно, EXCEL воспримет их как текст.
Для ввода формулы массива введите формулу, как обычно, а потом нажмите CTRL+SHIFT+ENTER. Формула станет формулой массива и на экране станет в фигурных скобках. После редактирования формулы массива надо опять нажимать CTRL+SHIFT+ENTER.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
honor8
@honor8
Принципы быстродействия VBA в описании
Если данные записаны в диапазоне A1:A3, то формулы для целой и дробной части:
=ЦЕЛОЕ(СУММ(A1:A3))
=ЕСЛИ(ОСТАТ(СУММ(A1:A3);1)>0;ЗАМЕНИТЬ(СУММ(A1:A3);1;ДЛСТР(ЦЕЛОЕ(СУММ(A1:A3)))+1;"");"0")
Чтобы быстро редактировать суммируемый диапазон, можно заменить в формулах A1:A3 на ссылку ДВССЫЛ(B1), записав в ячейке B1 значение на ссылаемый диапазон A1:A3.
Если массивы данных одинаковых размеров, то можно просто копировать формулы в нужную колонку.
Ответ написан
@Taran_tool
Я вышел из этой ситуации следующим образом:
Если данные записаны в диапазоне A1:A3, то
=ЦЕЛОЕ(СУММ(A1:A3))
=ПРАВСИМВ(ТЕКСТ(СУММ(A1:A3);"0,00");2)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы