|
Oliver
|
|
Избавление от повторяющихся столбцов и строк (Excel)18.08.2011, 14:27. Показов 2178. Ответов 17
Метки нет (Все метки)
Люди добрые, помогите. Руководством поставлена задача из неприличной базы данных в Екселе, содержащей повторяющиеся поля (в частности названия цехов завода) и повторяющиеся записи (коды статей расходования денежных средств, ну и сами суммы, конечно), сделать приличную, т.е. которая не содержит повторений.
Функция {сумм(если(и т.д.))} не работает, или вернее работает некорректно, потому что необходимо суммировать не по одной строке или полю, а по массиву. По-моему, алгоритм прост до невозможности вроде того, что пока есть совпадения в базе данных то давай ищи их, суммируй и вставляй в заданное совпадение в другом листе, как закончились совпадения, так и циклу конец. Знал бы я синтаксис вижуал бейсик, сам бы написал, но к сожалению я его не знаю. Будьте добры помогите такую пользовательскую функцию написать, буду очень признателен. |
|
| 18.08.2011, 14:27 | |
|
Ответы с готовыми решениями:
17
Избавление от повторяющихся чисел Random.Next Количество строк и столбцов в Excel
|
|
Ghost
|
|
| 18.08.2011, 15:30 | |
|
перегони данные в Access или в SQL и выбери запросом.
Один запрос с DISTINCT все решает. |
|
|
Comanche
|
|
| 18.08.2011, 19:18 | |
|
кажись, можно и через pivot tables - Эксель же должен объединить при формировании 'под-итогов'...
|
|
|
Oliver
|
|
| 18.08.2011, 19:19 | |
|
Не, не круто не фига. Надо именно в Excel, дело принципа (руководству не решение надо, а сам процесс)
P.S. Я не программер, а экономист, поэтому, если чего переспрошу чайниковское не обессудьте. |
|
|
Oliver
|
|
| 18.08.2011, 19:25 | |
|
Для дальнейшего использования. Я эту задачку решил легко штатными средствами Екселя используя ту же функцию суммесли и сводную таблицу для избавления от дублирования строк, но их это не удовлетворило, с тем аргументом, что некрасиво и громоздко.
|
|
|
Messir
|
|
| 18.08.2011, 20:21 | |
|
> но их это не удовлетворило, с тем аргументом, что некрасиво и громоздко.
для удовлетворенности пускай помедитируют над дистрибутивом SQL Server'а или Оракла...
|
|
|
Oliver
|
|
| 19.08.2011, 07:15 | |
![]() Ну а все-таки, можно такую пользовательскую функцию написать или макрос? |
|
|
Сумрак
|
|
| 19.08.2011, 10:44 | |
|
можно все.. что работает на ПК
Я все же бы остановился на АДО. Средстваими запроса. Ну а Вам... В простом случае как Ghost... Нью База в Access Внешние данные - таблица из Excell(Импорт) Создать Запрос. интуитивно понятным конструктором Access. Сохранить запрос в этой БД. Далее. новая книга в Excell, меню - внешние данные из новосозданной БД из Запроса. Красиво вставил, красиво оформил. И К ужину приподнес боссу как плод тяжолого кропотливого дневного труда. Это если. чтоб код не писать. Возможно ..так... не пробовал.. но предполагаю. все тоже самое, до вставки внешних данных, в лист Но надо посмотреть в режиме SQL текст запроса вБД. и модефицировать его под запрос для листа В нужной книге Данных. ___ Но верочный, через Адо обратится к листу с данными снять с его нужную инфу через запрос, и вставить эти данные на лист(можно новый). Прописать это в Ачто макросом и сохранить как темплайт, и теперь на базе этого темлайта будет постоянно актуальный запрос к Вашей Бд. |
|
|
Ghost
|
|
| 20.08.2011, 00:21 | |
|
2 Oliver
функцию написать-то можно - не вопрос. Самый тупой способ - закачать все данные в массив и отсортировать его, заодно выкидывая дубли. Вообще или ты что-то недоговариваешь, или (уж извини) тупит твое начальство. есть такой шикарный армейский анекдот про подметание ломом платца - 'мне не нужно, чтобы было чисто, мне нужно, чтобы вы зае^%$#@*!'. Вот и здесь пахнет тем-же. Ты уж извини, но я привык решать задачи самым экономичным способом. Есл разовое решение - то самым экономичным с точки зрения разработки, если это постоянная процедура - то самым экономично развиваемым и поддерживаемым. (заметь - слова 'быстро' тут нет) И инструменты надо выбирать тоже исходя из каких-то критериев. (посмотри 'Ронин' с де Ниро - он там хорошо на эту тему сказал). А если критерий - платц ломом подметать (+ см. выше) ... подметай сам, без меня. Без наездов и намеков, с наилучшими пожеланиями. Have a nice sex ))
|
|
|
4 / 4 / 2
Регистрация: 06.03.2011
Сообщений: 151
|
|
| 21.08.2011, 14:30 | |
|
Покажи пример того, что есть и того, что должно получиться.
mmos@au.ru
0
|
|
|
Oliver
|
|
| 22.08.2011, 07:41 | |
|
Неприличная база данныхю. Дубли здесь ни при чем. Повторяются не данные, а поля и строки. Вот пример
Наименование Цех Т-1 Цех Т-2 Цех Т-1 Цех Т-2 статьи расхода денежных средств 121 10 5 20 10 122 15 15 5 1 121 4 10 15 5 122 1 2 4 15 |
|
|
Oliver
|
|
| 22.08.2011, 07:42 | |
|
2 mmos. Черт, не получилось. Перешлю на е-mail.
|
|
|
Oliver
|
|
| 22.08.2011, 08:35 | |
|
Поеду-ка я книжку покупать. В конце концов самообучаться тоже надо когда-то
Подскажите какую купить, чтобы 'чайник' разобрался и толк от нее был, а то как-то попробовал почитать книжку не своего уровня подготовки, так дальше первой страницы не продвинулся ))
|
|
|
Сумрак
|
|
| 22.08.2011, 18:20 | |
|
Книжка. не факт. можно и без книжки... в программировании главное задачу поставить. А какмими средствами ее выполнить...(доступными). Если не можешь поставиь задачу. книги тебе не помогут.
|
|
|
4 / 4 / 2
Регистрация: 06.03.2011
Сообщений: 151
|
||||||
| 22.08.2011, 19:44 | ||||||
|
Вот тебе решение (проверенное).
Скопируй эту процедуру в модуль листа с неправильной базой данных. Выполни двойной щелчок на любой ячейке листа (но не между ячейками). Произнеси 'Эни-бени-раба' (3 раза) и мысленно щёлкни хвостом. Получишь правильную базу данных. Советую перед экспериментом сделать резервное копирование. Всё отработает правильно, если твоя база данных расположена на листе точно так же, как в присланном тобой примере. Если это не так, то придётся менять некоторые константы. Желаю успехов.
0
|
||||||
|
Oliver
|
|
| 23.08.2011, 06:49 | |
) Эни-бени-раба, хи-хи! Спасибо. |
|
|
4 / 4 / 2
Регистрация: 06.03.2011
Сообщений: 151
|
|
| 23.08.2011, 11:55 | |
|
Хоть бы написал, получилось или нет?
Я же подозревал, что хвостом щёлкнуть забудешь. Так и вышло.
0
|
|
|
Oliver
|
|
| 04.01.2012, 07:35 | |
|
Дык как еще щелкать-то? Скажи - щелкну
Усе работает! Еще раз спасибо
|
|
| 04.01.2012, 07:35 | |
|
Помогаю со студенческими работами здесь
18
Перенесение/транспортировка данных из строк в несколько столбцов в Excel Избавление от лишних пустых строк Как сделать количество столбцов и строк конечным?, MS Excel 2003 Создать документ похожий на Excel таблицу с форматированием строк и столбцов Запрет на удаление/довабление строк/столбцов в Excel - есть такое понятие? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|