Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - [решено] Excel: создать одномерный график/таблицу посещений по заданным данным

Ответить
Настройки темы
Разное - [решено] Excel: создать одномерный график/таблицу посещений по заданным данным
afj afj вне форума

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: afj
Дата: 13-09-2021
Изображения
Тип файла: png table-or8.png
(1.5 Kb, 12 просмотров)
Есть генерируемый текстовый файл вида
Иванов 01.09 02.09 03.09
Петров 03.09 04.09 05.09
Сидоров 02.09 03.09 06.09

Чем в Экселе из него сделать график с засечками на единой временнОй оси
Или табличку:

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

Отправлено: 00:06, 13-09-2021

 

Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip Одномерный график.zip
(8.6 Kb, 4 просмотров)

Цитата afj:
текстовый файл вида
Иванов 01.09 »
Знаю реальный случай, когда в одной организации работали две условные Петровы Марии Ивановны, причем даже столы стояли у них рядышком в одном кабинете. Генерируемый файл точно имеет именно указанную структуру, или сделать нужно что-то другое?
Цитата afj:
Или табличку: »
Если без использования VBA, то примерно как в приложенном файле:
Содержимое файла можно скопировать "ручками" и просто вставить в первый столбец таблицы.
чтобы каждый раз не менять месяц - номер месяца меняется в А1.
Все остальное - формулами. Если необходимо получить более автоматизированное решение - приложите пример реальных файлов.

-------
[Форум Word и Excel] - [Как запустить Word, Excel и Outlook в безопасном режиме?] - [Как удалить шаблон Word Normal.dotm?]


Отправлено: 10:20, 13-09-2021 | #2



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

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

afj afj вне форума Автор темы

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: txt visit-data.txt
(38.0 Kb, 5 просмотров)

Так понимаю, простого решения нет, встроенными графиками визуализировать не получится, только ручками

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

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

Кусок реального файла (там ещё и время, но это настраиваемо, для данной визуализации время не нужно, достаточно даты):

Последний раз редактировалось afj, 13-09-2021 в 13:24.


Отправлено: 13:07, 13-09-2021 | #3


Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip Одномерный график1.zip
(64.1 Kb, 2 просмотров)

Цитата afj:
Так понимаю, простого решения нет, встроенными графиками визуализировать не получится »
Нет ни решения, а постановки задачи: как должен выглядеть результат с графиком. У вас 5.09.2021 например посещение 39 людей. Как их отобразить на графике? 39 кривых - так это для восприятия слишком много? Или сумма плюсиков за день нужна? Как вы себе этот график представляете?
Цитата afj:
А вот дубликаты дат (более одной отметки в день на человека) быть могут. »
Это проблемой стать не должно, второго плюсика формула не поставит.
Цитата afj:
Про помесячность сказано ничего не было, диапазон дат может быть любым »
Я поэтому изначально и задал вопрос, насколько озвученная задача совпадает с фактической. В приложенном варианте, полагаю, не последнем, реализован диапазон дат.
Цитата afj:
лимиты единой временнОй оси хорошо бы рассчитывались динамически от входных данных. »
Тут возможно VBA и не понадобится, но остается вопрос - какой график должен получится на выходе.

-------
[Форум Word и Excel] - [Как запустить Word, Excel и Outlook в безопасном режиме?] - [Как удалить шаблон Word Normal.dotm?]

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:07, 13-09-2021 | #4

afj afj вне форума Автор темы

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png 1dim.png
(2.3 Kb, 8 просмотров)

Если визуализировать одномерным графиком, то по моему это должно выглядеть примерно так:
Расположить всех по единой временной линии, и засечки на посещениях.


ЗЫ Изначально формулировка была краткой и общей в расчёте на ответ вида "Это типовая задача, в экселе давным-давно есть начиная с версии ххх, волшебная кнопка вооот здесь, жамкай и она всё сама сделает". (Уж в построении графиков Эксель дока)
А также в расчёте на то, что это _нашим_ данным придётся подстраиваться под существующую встроенную функцию.
Если же пилить вручную, понятно что ТЗ необходимо уточнять.

Последний раз редактировалось afj, 13-09-2021 в 16:28.


Отправлено: 15:56, 13-09-2021 | #5


Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip Одномерный график2.zip
(49.1 Kb, 4 просмотров)

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

-------
[Форум Word и Excel] - [Как запустить Word, Excel и Outlook в безопасном режиме?] - [Как удалить шаблон Word Normal.dotm?]


Отправлено: 16:15, 13-09-2021 | #6

afj afj вне форума Автор темы

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Авторасчёт лимитов шкалы времени возможен?

Последний раз редактировалось afj, 13-09-2021 в 17:47.


Отправлено: 17:19, 13-09-2021 | #7


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6483
Благодарности: 1462

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: xlsx report 30.07.2021-12.09.2021.xlsx
(13.1 Kb, 12 просмотров)

Powershell
Код: Выделить весь код
$folder = "D:\temp\visit"
$sourceTxt = "$folder\visit-data.txt"
$mark = "+" # метка визита в файлах

$csv = (gc "$sourceTxt") -match "\.bmp" -replace "\.bmp= ",";" -replace ",\d+:\d+:\d+" |ConvertFrom-Csv -Header name,dates -Delimiter ';'
$dates = $csv.dates -split ' ' |sort {$_ -as [datetime]} -Unique
$startDate = $dates[0] -as [datetime]
$day = $startDate
$finishDate = $dates[-1] -as [datetime]
$datesRange = do {$day; $day = $day.adddays(1)} until ($day -gt $finishDate)
$datesRangeString = "$($startDate.ToShortDateString())-$($finishDate.ToShortDateString())"
$reportCsv = "$folder\report $datesRangeString.csv"

"Name;" + ($datesRange.toshortdatestring() -join ';') > "$reportCsv"
$csv |% {
$_.name + ';' + ((diff $datesRange ($_.dates -split ' ' |sort -Unique |% {$_ -as [datetime]}) -IncludeEqual |sort Inputobject).sideindicator -replace '<=',';' -replace '==',"$mark;" -join '') >> "$reportCsv"
}

# Если установлен модуль ImportExcel (https://www.powershellgallery.com/packages/ImportExcel)
if (Get-Module ImportExcel -ListAvailable) {
$reportXlsx = $reportCsv -replace 'csv$','xlsx'
    if (Test-Path "$reportXlsx") {rm "$reportXlsx"}
$condText = New-ConditionalText $mark green lightgreen
Import-Csv "$reportCsv" -Delimiter ';' |export-Excel -Path "$reportXlsx" -WorksheetName $datesRangeString -ConditionalText $condText -AutoSize -FreezeTopRow -AutoFilter -BoldTopRow
}
Генерирует CSV, а если установлен модуль ImportExcel, то добавляет и файл .xlsx (см. вложение).

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 22-09-2021 в 12:50.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:24, 22-09-2021 | #8



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - [решено] Excel: создать одномерный график/таблицу посещений по заданным данным

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - Макрос создания документов Word по данным таблицы Excel RusGor Программирование и базы данных 4 01-11-2023 11:17
2016 - Как сгруппировать строки в Excel по данным столбцов (телефон, сайт, соц.сети), ВПР не megagogo Microsoft Office (Word, Excel, Outlook и т.д.) 3 01-08-2021 17:52
Разное - Как в excel импортировать в одну таблицу 2 смежных xml файла? Vandheer Microsoft Office (Word, Excel, Outlook и т.д.) 0 09-09-2016 13:53
2003/XP/2000 - [решено] Excel: График из столбца с датами. ven00m Microsoft Office (Word, Excel, Outlook и т.д.) 1 26-03-2012 03:07
2010 - как построить график в эксель по формуле? Pozia Microsoft Office (Word, Excel, Outlook и т.д.) 7 29-05-2011 14:29




 
Переход