4 / 4 / 1
Регистрация: 17.09.2015
Сообщений: 64
|
|
1 | |
Варианты решения объединения ячеек29.10.2015, 22:26. Показов 1453. Ответов 7
Метки нет (Все метки)
Добрый день.
Есть табличка вида (приложение) подскажите, как покрасивейй сделать макрос по приведению ее (левой многострочной части) в однострочный вид (правая часть для примера) для отдельной красивой таблицы. Количество строк для одной записи справа(выделил цветами) может быть различным(от 2 до 6). я нацелился метки каждой новой записи считать по "dt" в первом столбце. Спасибо за предложения.
0
|
29.10.2015, 22:26 | |
Ответы с готовыми решениями:
7
Макрос объединения ячеек Поиск решения solver, количество изменяемых ячеек больше 200 Интерфейс объединения ячеек к таблице Макрос для объединения ячеек с одинаковыми значениями |
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
30.10.2015, 23:23 | 2 |
Возможный вариант см. в аттаче. Обратите внимание на то, что если "dt" будет единственной строкой, то полученный результат будет некорректным. Правда с этим можно бороться, если просто проверять значение найденных ячеек, но если строк действительно от 2-х и более, то можно обойтись и проверки.
1
|
4 / 4 / 1
Регистрация: 17.09.2015
Сообщений: 64
|
|
01.11.2015, 12:49 [ТС] | 3 |
примеры классные.
я, грубо говоря, для одной базы решение сделал, но громоздкое, по сравнениию с Вашим. проработаю. на очереди еще одна база, еще страшней-там нет конкретного dt . как объяснить машине, по чем считать-пока вопрос. ну это уже мои проблемы. спасибо) Добавлено через 11 часов 36 минут офигенный у Вас код. я еще не все понял, но это гниально. Добавлено через 13 часов 35 минут Уважаемый pashulka. Наберусь наглости и спрошу,как бы Вы объяснили машине логику объединения строк в прилагаемом примере (скопировал часть таблицы, несколько условных листов). разброд строк на стыке "условных" листов идет жуткий. бъюсь третий день, пока не очень успешно как-то. место начала "условного" листа указано в столбце AQ, видимо к нему надо привязываться, когда определяется "съехавшая" строка. Ключевое непрерывное поле тут дата в столбце С, но там никак логику не прописать, мне кажется. Выделил очень характерные "сдвиги" на стыке листа 6 и на стыке листа 7. Спасибо за советы. Добавлено через 59 минут ...или делать привязку на 10 год? конкатенация ячеек по дате, пока последними символами не будут "10". по счетчику получили количество строк? хотя хотелось бы какое-то универсальное решение конечно.
0
|
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
01.11.2015, 13:39 | 4 |
В большинстве случаев - конец строки определяется наличием текста(штата) в столбце G , но, увы, есть и исключения.
p.s. Если отчёт идёт по году, то Ваш вариант, ближе всех к идеалу, тем более, что дату искать можно с помощью Like и указать не конкретный год, а ##
0
|
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
01.11.2015, 14:07 | 5 |
Сообщение было отмечено AAAAAAAmidi как решение
Решение
Ваш вариант с датой см. в аттаче. Обратите внимание на то, что в исходной таблице какая-то ass переместилась из ячейки AN120 в AM120, и в результате, мы получаем неправильные проценты ... можно даже сказать, не совсем проценты
1
|
4 / 4 / 1
Регистрация: 17.09.2015
Сообщений: 64
|
|
01.11.2015, 16:30 [ТС] | 6 |
до того,как эти данные попали в ексель, они были конвертированы из ПДФ. после чего работал макрос, отыскивающий форматы ячеек с нулями, и переводящий их в текстовый формат с дорисовкой нулей в начале. потом отработал макрос, который искал "сдвоенные" строки и рахзделял их на две. Потому не удивлен, что где-то что-то "съехало". Но за замечание спасибо.
нарисовал громоздкий макрос, который по дате выискивает диапазон одной записи. как раз отработал (15 минут обрабатывал всю базу). но с вашего кода просто по-хорошему фигею. спасибо Добавлено через 55 минут Ваш макрос работает секунд 5 над моей базой. мой - больше 20 минут... я в культурном шоке.
0
|
4 / 4 / 1
Регистрация: 17.09.2015
Сообщений: 64
|
|
09.11.2015, 17:43 [ТС] | 7 |
Уважаемый, pashulka
Возможно, вопрос и не совсем по этой теме, но интересно, как бы Вы решали проблему. Конвертер пдф-ексель иногда, как оказалось, съедает часть данных (в основном по пол записи на стыке страниц), более адекватных конвертеров не нашлось (съедаются нули в начале чисел при импорте и прочее и прочее). Подумалось - а если сделать сохранение пдф-текст и попробовать импортировать (пример в приложении). одна беда - от листа к листу расположение столбцов относительно друг друга меняется, соответственно одним махом импортировать 70 или 250страниц не получится. варианты решения: 1)сохранять пдф постранично, руками импортировать каждую страницу (повеситься сразу) 2)написать программу, которая отконвертирует сразу весь текст. идеально. но!! описать такую логику, мне кажется, очень проблематично. 3)Ваш вариант. Благодарю за мысли. Добавлено через 49 минут Вот подумал - сначала выискиваем по тексту начало и конец страницы (это у нас "-------", соответственно, начинаем работать с диапазоном строк от n1 до n2)после чего, идем по первой строке, если в текущей позиции находимся на символе пробел, то проверяем, под ним на 10 строк (к примеру) тоже пробелы? если да, то считаем, что с символа p1 по p2 в каждой строке содержимое столбца. Добавлено через 16 минут Либо страницу загнать построково в массив, 1 элемент - 1 буква. и подобным образом выискиваем "сдвоенный" пробел, после чего делаем проверку на сдвоенность пробела в этом=же месте у последующих элементов массива (строк). если да, то диапазон букв "с - по" копируем в новый массив, как запись. Добавлено через 3 часа 38 минут чтобы было наглядней, сделал макрос, который переносить все это безобразие в таблицу ексель по одному символу в каждой ячейке (подобие двумерного массива). Теперь любуюсь на это и думаю, с какого боку на него залезть.
0
|
4 / 4 / 1
Регистрация: 17.09.2015
Сообщений: 64
|
|
20.11.2015, 21:34 [ТС] | 8 |
Вы не подумайте. Я не "сделайтезаменя".
я дописал эту байду по перекодированию массива. Правда в четыре подпрограммы. вместо массивов (чтоб наглядней было), использовал отдельный лист ексель. В целом, баги исправляю, но для компании сэкономил 160 баксов. Надеюсь, в свой карман. всем гуд лак.
0
|
20.11.2015, 21:34 | |
20.11.2015, 21:34 | |
Помогаю со студенческими работами здесь
8
Grid с возможностью объединения ячеек, в том числе и в заголовке Избежать объединения ячеек при вводе текста в несколько столбцов Поделитесь опытом решения объединения двух офисов После горизонталного объединения ячеек в таблице Word, перестают вставлятся данные в ячей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|