Добрый день! Подскажите, пожалуйста, как возможно выбoрочно извлечь данные из таблиц в колонках от 'I' до 'T' в таблицу расположенную в колонках от 'A' до 'G'
Чтобы при изменении данных в таблицах N1-XX, автоматически заполнялись Общая таблица, a пустые строки удалялись Здесь я в ручную заполнил общую таблицу данными из таблиц N1-XX Возможно ли это сделать с помощью формул, макросы я точно не осилю.
Добрый день! Подскажите, пожалуйста, как возможно выбoрочно извлечь данные из таблиц в колонках от 'I' до 'T' в таблицу расположенную в колонках от 'A' до 'G'
Чтобы при изменении данных в таблицах N1-XX, автоматически заполнялись Общая таблица, a пустые строки удалялись Здесь я в ручную заполнил общую таблицу данными из таблиц N1-XX Возможно ли это сделать с помощью формул, макросы я точно не осилю.rafsit61
Думаю тут нужно не удалять пустые строки (кстати так и не понял, что это за строки?), а генерить таблицу каждый раз заново из этих табличек справа. Ordnung там прослеживается, хотя конечно проще было бы если бы данные были расположены просто в столбик Думаю так - 1. ищем начало и конец таблицы - по "Дата обновления:" и "В многоэт-х домах" 2. как нашли начало - имеем "N1-02" 3. цикл сверху вниз по таблице по двум столбцам (т.е. 2 цикла) - выделяем улицу, далее данные квартир. Копируем. 5. Ищем следующую таблицу.
Как это можно сделать формулами - не представляю... Думаю что невозможно.
Думаю тут нужно не удалять пустые строки (кстати так и не понял, что это за строки?), а генерить таблицу каждый раз заново из этих табличек справа. Ordnung там прослеживается, хотя конечно проще было бы если бы данные были расположены просто в столбик Думаю так - 1. ищем начало и конец таблицы - по "Дата обновления:" и "В многоэт-х домах" 2. как нашли начало - имеем "N1-02" 3. цикл сверху вниз по таблице по двум столбцам (т.е. 2 цикла) - выделяем улицу, далее данные квартир. Копируем. 5. Ищем следующую таблицу.
Как это можно сделать формулами - не представляю... Думаю что невозможно.Hugo
Hugo, Дата обновления можно и не задействовать, число адресов - количество строк N1-01, далее надо как-то улицу сцепить с соответствующими строками и скопировать их, далее следующую улицу с её домами, пока не заполнятся все n1-01. Далее тоже самое со следующей N1-02 , и так далее, но как это реализовать ума не приложу.
Hugo, Дата обновления можно и не задействовать, число адресов - количество строк N1-01, далее надо как-то улицу сцепить с соответствующими строками и скопировать их, далее следующую улицу с её домами, пока не заполнятся все n1-01. Далее тоже самое со следующей N1-02 , и так далее, но как это реализовать ума не приложу.rafsit61
Hugo, Сами таблицы одинаковы N1-01... N1-99 можно им дать соответствующие имена, но внутри них данные переменные и при изменении любой из них, долвно соответственно изменится и в другой таблице.
Hugo, Сами таблицы одинаковы N1-01... N1-99 можно им дать соответствующие имена, но внутри них данные переменные и при изменении любой из них, долвно соответственно изменится и в другой таблице.rafsit61
rafsit61, такие вопросы: - Исходные таблички вы сами вставляете на лист руками? Или они существуют в виде отдельных листов/файлов? - Формат исходной таблички всегда единый (занимает ровно 37 строчек, данные в один/два столбца)? - В данных всегда присутствует порядковая нумерация квартир (столбцы I, O)? - Обновление сводной таблицы обязательно делать при любом изменении исходных данных? Или можно обновлять только перед работой со сводной (например, специально нажав кнопочку "Обновить")?
Ну и действительно, делать такой парсинг надо исключительно макросами. Примерный алгоритм Hugo расписал А вообще, так данные не хранятся и не анализируются. Надо бы завести базу (она может и выглядеть примерно так, как ваша сводная - только еще столбец с датой обновления добавится), в неё добавлять только изменившиеся данные (анализируя поступающие исходники), а актуальную "сводную" получать уже из этой базы - просто отбирая последние даты для совпадающих записей. Я бы, конечно, завёл базу ещё более формализованную, в виде (Дата, Код/Параметр, Код/ЗначениеПараметра), плюс свёл бы повторяющиеся значения параметров в справочники - но это уже из области разработки БД :)
rafsit61, такие вопросы: - Исходные таблички вы сами вставляете на лист руками? Или они существуют в виде отдельных листов/файлов? - Формат исходной таблички всегда единый (занимает ровно 37 строчек, данные в один/два столбца)? - В данных всегда присутствует порядковая нумерация квартир (столбцы I, O)? - Обновление сводной таблицы обязательно делать при любом изменении исходных данных? Или можно обновлять только перед работой со сводной (например, специально нажав кнопочку "Обновить")?
Ну и действительно, делать такой парсинг надо исключительно макросами. Примерный алгоритм Hugo расписал А вообще, так данные не хранятся и не анализируются. Надо бы завести базу (она может и выглядеть примерно так, как ваша сводная - только еще столбец с датой обновления добавится), в неё добавлять только изменившиеся данные (анализируя поступающие исходники), а актуальную "сводную" получать уже из этой базы - просто отбирая последние даты для совпадающих записей. Я бы, конечно, завёл базу ещё более формализованную, в виде (Дата, Код/Параметр, Код/ЗначениеПараметра), плюс свёл бы повторяющиеся значения параметров в справочники - но это уже из области разработки БД :)AndreTM
AndreTM, Спасибо за Ваше внимание! Да, - Формат исходной таблички всегда единый (занимает ровно 37 строчек, данные в один или два столбца) Данные в неё заносятся в ручную При трансформации таблицы, на буквы в столбцах ( I, O) можно не обращать внимание. Это дополнительная ссылка , обозначение метки на карте к этому участку А вот данные в строке (K,M,N,Q,S,T) могут быть не всегда, Адреса в самом карточке тоже могут меняться. Если это упростит задачу, можно обновлять только перед работой со сводной (например, специально нажав кнопочку "Обновить") , как Вы и предлагаете А над этим Вашим предложением я хочу подумать тоже, правда придётся перелапатить кучу информации, но может это того стоить!? Не могу понять как вы выделяете цитаты. А вообще, так данные не хранятся и не анализируются. Надо бы завести базу (она может и выглядеть примерно так, как ваша сводная - только еще столбец с датой обновления добавится), в неё добавлять только изменившиеся данные (анализируя поступающие исходники), а актуальную "сводную" получать уже из этой базы - просто отбирая последние даты для совпадающих записей. Я бы, конечно, завёл базу ещё более формализованную, в виде (Дата, Код/Параметр, Код/ЗначениеПараметра), плюс свёл бы повторяющиеся значения параметров в справочники - но это уже из области разработки БД
AndreTM, Спасибо за Ваше внимание! Да, - Формат исходной таблички всегда единый (занимает ровно 37 строчек, данные в один или два столбца) Данные в неё заносятся в ручную При трансформации таблицы, на буквы в столбцах ( I, O) можно не обращать внимание. Это дополнительная ссылка , обозначение метки на карте к этому участку А вот данные в строке (K,M,N,Q,S,T) могут быть не всегда, Адреса в самом карточке тоже могут меняться. Если это упростит задачу, можно обновлять только перед работой со сводной (например, специально нажав кнопочку "Обновить") , как Вы и предлагаете А над этим Вашим предложением я хочу подумать тоже, правда придётся перелапатить кучу информации, но может это того стоить!? Не могу понять как вы выделяете цитаты. А вообще, так данные не хранятся и не анализируются. Надо бы завести базу (она может и выглядеть примерно так, как ваша сводная - только еще столбец с датой обновления добавится), в неё добавлять только изменившиеся данные (анализируя поступающие исходники), а актуальную "сводную" получать уже из этой базы - просто отбирая последние даты для совпадающих записей. Я бы, конечно, завёл базу ещё более формализованную, в виде (Дата, Код/Параметр, Код/ЗначениеПараметра), плюс свёл бы повторяющиеся значения параметров в справочники - но это уже из области разработки БД rafsit61
AndreTM, Мне нравится Ваша идея всё больше и больше Данные вносить в ручную в общую таблицу( Строки A и H), а оттуда программа будет автоматически заполнять формуляры N1-01 ... N1-XX . Только не могу понять, зачем дополнительная колонка дата обновления. Мне не нужна история изменений, актуален обновлённый список, а старые могут удалятся, после нажатия кнопки обновить. А дата обновления нужна только на самой карточке, если там , что-то изменилось после нажатия кнопки (обновить)
AndreTM, Мне нравится Ваша идея всё больше и больше Данные вносить в ручную в общую таблицу( Строки A и H), а оттуда программа будет автоматически заполнять формуляры N1-01 ... N1-XX . Только не могу понять, зачем дополнительная колонка дата обновления. Мне не нужна история изменений, актуален обновлённый список, а старые могут удалятся, после нажатия кнопки обновить. А дата обновления нужна только на самой карточке, если там , что-то изменилось после нажатия кнопки (обновить) rafsit61
А вообще, так данные не хранятся и не анализируются. Надо бы завести базу (она может и выглядеть примерно так, как ваша сводная - только еще столбец с датой обновления добавится), в неё добавлять только изменившиеся данные (анализируя поступающие исходники), а актуальную "сводную" получать уже из этой базы - просто отбирая последние даты для совпадающих записей. Я бы, конечно, завёл базу ещё более формализованную, в виде (Дата, Код/Параметр, Код/ЗначениеПараметра), плюс свёл бы повторяющиеся значения параметров в справочники - но это уже из области разработки БД :)
А вообще, так данные не хранятся и не анализируются. Надо бы завести базу (она может и выглядеть примерно так, как ваша сводная - только еще столбец с датой обновления добавится), в неё добавлять только изменившиеся данные (анализируя поступающие исходники), а актуальную "сводную" получать уже из этой базы - просто отбирая последние даты для совпадающих записей. Я бы, конечно, завёл базу ещё более формализованную, в виде (Дата, Код/Параметр, Код/ЗначениеПараметра), плюс свёл бы повторяющиеся значения параметров в справочники - но это уже из области разработки БД :)
Давайте уже расскажите всю задачу. Где яйцо, где курица, зачем это всё? Раз уж можно "Данные вносить в ручную в общую таблицу", то зачем вообще эти таблички? И имеют ли значение цвет и форматы?
Давайте уже расскажите всю задачу. Где яйцо, где курица, зачем это всё? Раз уж можно "Данные вносить в ручную в общую таблицу", то зачем вообще эти таблички? И имеют ли значение цвет и форматы?Hugo
Давайте уже расскажите всю задачу. Где яйцо, где курица, зачем это всё? Раз уж можно "Данные вносить в ручную в общую таблицу", то зачем вообще эти таблички? И имеют ли значение цвет и форматы?
Разницы нет в какую таблицу буду вносить данные, Главное они нужны оба в том виде как есть. Таблицы N1-XX , По сути это стандартные карточки, которые распечатываются, для проведения работ, По окончанию работ работники вносят изменения от руки в неё или на отдельном листке, и сдают мне, а я уже вношу это в комп. А сводная общая таблица нужна, как вы понимаете, для анализа и группировки информация и прочие прелести связанные с большими возможностями EXCEL
Давайте уже расскажите всю задачу. Где яйцо, где курица, зачем это всё? Раз уж можно "Данные вносить в ручную в общую таблицу", то зачем вообще эти таблички? И имеют ли значение цвет и форматы?
Разницы нет в какую таблицу буду вносить данные, Главное они нужны оба в том виде как есть. Таблицы N1-XX , По сути это стандартные карточки, которые распечатываются, для проведения работ, По окончанию работ работники вносят изменения от руки в неё или на отдельном листке, и сдают мне, а я уже вношу это в комп. А сводная общая таблица нужна, как вы понимаете, для анализа и группировки информация и прочие прелести связанные с большими возможностями EXCELrafsit61
Hugo, Да, ещё хотел спросить, Как вы думаете,если добавить дополнительные столбцы в табл. N1-XX (K и R), см. лист Сводная(3). И дополнительные по этим столбцам, можно забить название улицы и тогда строки в обеих таблицах будут одинаковы по содержанию,а в таблице N1-01 её не будет видно колонка слишком узкая (См. Например:K6, R21) , поэтому внешний вид N1-01 сохраняется, зато удобнее копировать. Но проблема как её выделить в виде шапки над своей мини группы, Хотя она тоже забита в столбцах ( K и R), Но её видно, потому-что следующие ячейки в строке пустые.
Hugo, Да, ещё хотел спросить, Как вы думаете,если добавить дополнительные столбцы в табл. N1-XX (K и R), см. лист Сводная(3). И дополнительные по этим столбцам, можно забить название улицы и тогда строки в обеих таблицах будут одинаковы по содержанию,а в таблице N1-01 её не будет видно колонка слишком узкая (См. Например:K6, R21) , поэтому внешний вид N1-01 сохраняется, зато удобнее копировать. Но проблема как её выделить в виде шапки над своей мини группы, Хотя она тоже забита в столбцах ( K и R), Но её видно, потому-что следующие ячейки в строке пустые.rafsit61
Вообще-то, когда начинаешь думать над задачей - оказывается что проще из этих отдельных табличек сделать сводную, а не наоборот Хотя правильнее конечно заполнять базу, а из неё создавать уже какие угодно репорты/отчёты/формы и т.д. Вот по этой задаче - как делать, если вдруг по одной улице будет больше 30-ти записей? Почему в этих таблицах идут параллельно неполных два столбца, а не заполняется сперва полностью один, затем начинается другой?
P.S. Может быть такое, что данные по одному N не поместятся в одну табличку? Это тоже осложняет их генерацию...
Вообще-то, когда начинаешь думать над задачей - оказывается что проще из этих отдельных табличек сделать сводную, а не наоборот Хотя правильнее конечно заполнять базу, а из неё создавать уже какие угодно репорты/отчёты/формы и т.д. Вот по этой задаче - как делать, если вдруг по одной улице будет больше 30-ти записей? Почему в этих таблицах идут параллельно неполных два столбца, а не заполняется сперва полностью один, затем начинается другой?
P.S. Может быть такое, что данные по одному N не поместятся в одну табличку? Это тоже осложняет их генерацию...Hugo
rafsit61, ну так вы неверно построили подход. Вы должны иметь БАЗУ (для простоты условимся, что она выглядит так, как ваша сводная + колонка с датой; и не говорите мне, что дата В БАЗЕ не нужна - именно история обновлений и будет важна, а то как вы будете строить отчеты за прошедшие периоды?), должны иметь ФОРМУ ВВОДА (она может выглядеть именно как карточка, а может и немного по-другому, и должны иметь ВЫХОДНУЮ ФОРМУ (ту самую карточку, которую вы распечатываете). При этом техпроцесс состоит из нескольких, напрямую не связанных частей: например, ВВОД -> БД; БД -> ВЫВОД; БД -> АНАЛИЗ. То есть надо распечатать карточку - это будет выборка из БД и заполнение формы, которую можно выдать. Надо внести данные - это будет формочка ввода (вполне возможно, предварительно заполненная имеющейся информацией из БД), которую вы измените - и запишете в БД. Надо будет получить актуальные (или на определенную дату) данные - это будет выборка из БД и формирование отчетной формы (не обязательно одной - это может быть и текущее состояние, и изменения за период, и т.д.). Поэтому я и говорю о том, что нет особого смысла бороться с вашими формами - надо просто немного поменять систему...
rafsit61, ну так вы неверно построили подход. Вы должны иметь БАЗУ (для простоты условимся, что она выглядит так, как ваша сводная + колонка с датой; и не говорите мне, что дата В БАЗЕ не нужна - именно история обновлений и будет важна, а то как вы будете строить отчеты за прошедшие периоды?), должны иметь ФОРМУ ВВОДА (она может выглядеть именно как карточка, а может и немного по-другому, и должны иметь ВЫХОДНУЮ ФОРМУ (ту самую карточку, которую вы распечатываете). При этом техпроцесс состоит из нескольких, напрямую не связанных частей: например, ВВОД -> БД; БД -> ВЫВОД; БД -> АНАЛИЗ. То есть надо распечатать карточку - это будет выборка из БД и заполнение формы, которую можно выдать. Надо внести данные - это будет формочка ввода (вполне возможно, предварительно заполненная имеющейся информацией из БД), которую вы измените - и запишете в БД. Надо будет получить актуальные (или на определенную дату) данные - это будет выборка из БД и формирование отчетной формы (не обязательно одной - это может быть и текущее состояние, и изменения за период, и т.д.). Поэтому я и говорю о том, что нет особого смысла бороться с вашими формами - надо просто немного поменять систему...AndreTM
а то как вы будете строить отчеты за прошедшие периоды?)
Отчеты за прошедшие периоды - вообще это не актуально. Важно только последние обновлённые данные в Базе Данных и в табличках N1-XX для вывода на печать. Такая специфика. Да и общая таблица в общем нужна для 2-х вещей: 1-ое если у меня какой -то новый адрес, что бы я мог быстро проверить, есть ли он и меня в БД и в какой табличке ( карточке) сидит. А их в БД более 3500. И 2-ое - на основании последних данных в БД, Чтобы я мог составить вот такую таблицу , где увидеть и выделить для распечатки, например, доставки только Елены У.
а то как вы будете строить отчеты за прошедшие периоды?)
Отчеты за прошедшие периоды - вообще это не актуально. Важно только последние обновлённые данные в Базе Данных и в табличках N1-XX для вывода на печать. Такая специфика. Да и общая таблица в общем нужна для 2-х вещей: 1-ое если у меня какой -то новый адрес, что бы я мог быстро проверить, есть ли он и меня в БД и в какой табличке ( карточке) сидит. А их в БД более 3500. И 2-ое - на основании последних данных в БД, Чтобы я мог составить вот такую таблицу , где увидеть и выделить для распечатки, например, доставки только Елены У.rafsit61
Вот по этой задаче - как делать, если вдруг по одной улице будет больше 30-ти записей? Почему в этих таблицах идут параллельно неполных два столбца, а не заполняется сперва полностью один, затем начинается другой?
P.S. Может быть такое, что данные по одному N не поместятся в одну табличку? Это тоже осложняет их генерацию...
Не полностью заполнялось, потому-что всё делалось в ручную, лепил без всякой системы. Если появляется много адресов, я просто завожу новую карточку, т.е. делю участок
Вот по этой задаче - как делать, если вдруг по одной улице будет больше 30-ти записей? Почему в этих таблицах идут параллельно неполных два столбца, а не заполняется сперва полностью один, затем начинается другой?
P.S. Может быть такое, что данные по одному N не поместятся в одну табличку? Это тоже осложняет их генерацию...
Не полностью заполнялось, потому-что всё делалось в ручную, лепил без всякой системы. Если появляется много адресов, я просто завожу новую карточку, т.е. делю участокrafsit61
ещё интереснее - так сколько там карточек получится? И как там искать Елену? Вообще думаю что обязательно нужно менять подход с этими карточками. Опять же эти обновления - т.е. если что-то меняется, то сперва нужно найти в этих 3500 то, что поменялось, изменить. А потом понять, что изменили не там и не то... Может такой вариант - храним все записи, и старые тоже (раз в год можно делать ревизию), а при формировании карточек берём только самые свежие. И я бы поменял вид этих карточек - название улицы писал в одной строке с адресом. Т.к. сейчас если одна улица и куча адресов - то на карточку влезет максимальное количество адресов, а если наоборот (на каждую улицу по одному адресу) - то наоборот. Думаю это неправильно.
Ну а если будет одна база - то нет проблем найти всех Елен и все их доставки на любой момент истории.
[offtop]P.S. Конкретно сейчас плотно заниматься этой задачей некогда - сейчас пишу в виде отдыха, соберусь работать - пойду работать... :)[/offtop]
ещё интереснее - так сколько там карточек получится? И как там искать Елену? Вообще думаю что обязательно нужно менять подход с этими карточками. Опять же эти обновления - т.е. если что-то меняется, то сперва нужно найти в этих 3500 то, что поменялось, изменить. А потом понять, что изменили не там и не то... Может такой вариант - храним все записи, и старые тоже (раз в год можно делать ревизию), а при формировании карточек берём только самые свежие. И я бы поменял вид этих карточек - название улицы писал в одной строке с адресом. Т.к. сейчас если одна улица и куча адресов - то на карточку влезет максимальное количество адресов, а если наоборот (на каждую улицу по одному адресу) - то наоборот. Думаю это неправильно.
Ну а если будет одна база - то нет проблем найти всех Елен и все их доставки на любой момент истории.
[offtop]P.S. Конкретно сейчас плотно заниматься этой задачей некогда - сейчас пишу в виде отдыха, соберусь работать - пойду работать... :)[/offtop]Hugo
ещё интереснее - так сколько там карточек получится? И как там искать Елену?
Да с поиском доставок , скажем Елены У или другой нет проблем. В сводной таблице в колонке Возв. в раскрывающемся окне ячейки выбираешь любое нужное имя, ОК , и все их доставки вылезают. А карточек всего пока 101 шт. в среднем по 30 адресов на каждом, всё это работает, только я вот пока всё сам заполняю. Хотелось бы вносить данные только в одну таблицу. Или в общую БД или в карточки N1-01. а не во все.
ещё интереснее - так сколько там карточек получится? И как там искать Елену?
Да с поиском доставок , скажем Елены У или другой нет проблем. В сводной таблице в колонке Возв. в раскрывающемся окне ячейки выбираешь любое нужное имя, ОК , и все их доставки вылезают. А карточек всего пока 101 шт. в среднем по 30 адресов на каждом, всё это работает, только я вот пока всё сам заполняю. Хотелось бы вносить данные только в одну таблицу. Или в общую БД или в карточки N1-01. а не во все.rafsit61