|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - [решено] Excel: создать одномерный график/таблицу посещений по заданным данным |
|
Разное - [решено] Excel: создать одномерный график/таблицу посещений по заданным данным
|
Новый участник Сообщения: 6 |
Есть генерируемый текстовый файл вида
Иванов 01.09 02.09 03.09 Петров 03.09 04.09 05.09 Сидоров 02.09 03.09 06.09 Чем в Экселе из него сделать график с засечками на единой временнОй оси Или табличку: Поиск по "одномерный график" путного не дал, поиск по "создать график посещений" выдаёт как красиво оформить такую табличку вручную, а интересует именно сама процедура генерации из файла. |
|
Отправлено: 00:06, 13-09-2021 |
Динохромный Сообщения: 704
|
Профиль | Отправить PM | Цитировать Цитата afj:
Цитата afj:
Содержимое файла можно скопировать "ручками" и просто вставить в первый столбец таблицы. чтобы каждый раз не менять месяц - номер месяца меняется в А1. Все остальное - формулами. Если необходимо получить более автоматизированное решение - приложите пример реальных файлов. |
||
------- Отправлено: 10:20, 13-09-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Так понимаю, простого решения нет, встроенными графиками визуализировать не получится, только ручками
![]() Имена (точнее идентификаторы на их основе) на более раннем этапе используются как имя файла, так что дубликатов имён нет. А вот дубликаты дат (более одной отметки в день на человека) быть могут. Про помесячность сказано ничего не было, диапазон дат может быть любым, и лимиты единой временнОй оси хорошо бы рассчитывались динамически от входных данных. Кусок реального файла (там ещё и время, но это настраиваемо, для данной визуализации время не нужно, достаточно даты): |
Последний раз редактировалось afj, 13-09-2021 в 13:24. Отправлено: 13:07, 13-09-2021 | #3 |
Динохромный Сообщения: 704
|
Профиль | Отправить PM | Цитировать Цитата afj:
Цитата afj:
Цитата afj:
Цитата afj:
|
||||
------- Отправлено: 15:07, 13-09-2021 | #4 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Если визуализировать одномерным графиком, то по моему это должно выглядеть примерно так:
Расположить всех по единой временной линии, и засечки на посещениях. ЗЫ Изначально формулировка была краткой и общей в расчёте на ответ вида "Это типовая задача, в экселе давным-давно есть начиная с версии ххх, волшебная кнопка вооот здесь, жамкай и она всё сама сделает". (Уж в построении графиков Эксель дока) А также в расчёте на то, что это _нашим_ данным придётся подстраиваться под существующую встроенную функцию. Если же пилить вручную, понятно что ТЗ необходимо уточнять. |
|
Последний раз редактировалось afj, 13-09-2021 в 16:28. Отправлено: 15:56, 13-09-2021 | #5 |
Динохромный Сообщения: 704
|
Профиль | Отправить PM | Цитировать afj, посмотрите файл в псевдографике - результат такой должен быть примерно? Понятно, что в реальной таблице могут быть еще какие-то ограничения, поэтому и уточняю.
|
------- Отправлено: 16:15, 13-09-2021 | #6 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Графический график возможно воспринимался бы иначе, но псевдографикой - много визуального шума, иксами/плюсами воспринималось лучше.
Авторасчёт лимитов шкалы времени возможен? |
Последний раз редактировалось afj, 13-09-2021 в 17:47. Отправлено: 17:19, 13-09-2021 | #7 |
fascinating rhythm Сообщения: 6635
|
Профиль | Отправить PM | Цитировать 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 } |
------- Последний раз редактировалось DJ Mogarych, 22-09-2021 в 12:50. Отправлено: 12:24, 22-09-2021 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|