Найти в Дзене
Граф Халзан

Побеждаем Excel или как изменить формат даты в строках сводной таблицы

Доброго времени суток всем, кто случайно или осознанно открыл данную статью.

Я практически 6 лет работаю с Excel, но иногда всё еще возникают ситуации, когда решение вроде бы простое, а вот сходу найти его не можешь.

Его Величество Excel
Его Величество Excel

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

Исходная таблица с данными
Исходная таблица с данными

На основе этих данных строится сводная таблица.

Готовая сводная таблица на основе исходных данных
Готовая сводная таблица на основе исходных данных

В первом столбце сводной таблицы формат даты отличается от классического отображения краткого формата даты "ДД.ММ.ГГГГ", как, например, во втором столбце.

Суть проблемы. Эту сводную таблицу необходимо скопировать и вставить как значения в отдельный файл и отдать на заливку в базу данных. При вставке как значения второй столбец ведет себе как положено дате: преобразуется в число, а вот первый столбец вставляется как текст "01.сен".

Результат копирования и вставки сводной таблицы как значения
Результат копирования и вставки сводной таблицы как значения

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

Костыль в виде формулы в столбцах F и G
Костыль в виде формулы в столбцах F и G

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

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

Параметры поля с датой начала периода
Параметры поля с датой начала периода

Выделив весь столбец или только нужные 3 ячейки сводной таблицы и попытавшись поменять формат ячеек указав "в лоб" формат "ДД.ММ.ГГГГ" снова потерпел фиаско.

Попытка изменить формат ячейки результат не принесла
Попытка изменить формат ячейки результат не принесла

Что-ж, настало время использовать самый распространенный и действенный в науке на практике метод - метод тыка :)

Решение. А ларчик просто открывался! Оказывается, всего-то нужно нажать правой кнопкой мыши по любой из ячеек с датой первого столбца и нажать Разгруппировать.

Вот он, волшебный пункт в контекстном меню!
Вот он, волшебный пункт в контекстном меню!

Смотрим результат. Даже любуемся на результат :)

Вуаля! Да здравствует человеческий формат
Вуаля! Да здравствует человеческий формат

Почему так произошло, кто и зачем сгруппировал первый столбец: автор файла или взбунтовавшийся Excel - остаётся загадкой. Ни тот, ни другой не сознаётся :)

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

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

Наука
7 млн интересуются