Здравствуйте. Хотелось бы попросить вашей помощи по решению данной задачи. Имеется Предмет_1, предмет_2 и предмет_3. Они могут иметь значение от 1 до 14. Это число означает код предмета. Факультатив_1, курсы_при_ВУЗе_1_1, репетитор_1, самостоятельно_1 - это варианты подготовки к предмету. Если они имеют значение 1 значит да(готовился), 0 значит нет(подготовки не было), пусто - аналогично 0. Аналогично для предмет_2 и предмет_3
Задача состоит в следующем. Сгруппировать данные по району и предмету. Предмет подразумевается не Предмет_1 предмет_2 предмет_3, а его значение. Т.е. то самое число от 1 до 14(код). Для наглядности результат вычислений(того, что хотелось бы получить) находится на странице Сводная. Буду рад любой помощи
Уважаемый MacSieM! Из-за плохо поставленной мною задачи, Ваш вариант не подошёл. Приношу свои извинения.
Здравствуйте. Хотелось бы попросить вашей помощи по решению данной задачи. Имеется Предмет_1, предмет_2 и предмет_3. Они могут иметь значение от 1 до 14. Это число означает код предмета. Факультатив_1, курсы_при_ВУЗе_1_1, репетитор_1, самостоятельно_1 - это варианты подготовки к предмету. Если они имеют значение 1 значит да(готовился), 0 значит нет(подготовки не было), пусто - аналогично 0. Аналогично для предмет_2 и предмет_3
Задача состоит в следующем. Сгруппировать данные по району и предмету. Предмет подразумевается не Предмет_1 предмет_2 предмет_3, а его значение. Т.е. то самое число от 1 до 14(код). Для наглядности результат вычислений(того, что хотелось бы получить) находится на странице Сводная. Буду рад любой помощи
Уважаемый MacSieM! Из-за плохо поставленной мною задачи, Ваш вариант не подошёл. Приношу свои извинения.Матраскин
Rustem, три предмета и для каждого свой набор подготовок. Столбец предмета нужен, чтобы знать что это за предмет.(предметы закодированы) Спасибо за помощь, но Ваш вариант не подойдёт.
Rustem, три предмета и для каждого свой набор подготовок. Столбец предмета нужен, чтобы знать что это за предмет.(предметы закодированы) Спасибо за помощь, но Ваш вариант не подойдёт.Матраскин
в интернете опять кто-то не прав
Сообщение отредактировал Матраскин - Четверг, 05.12.2013, 22:58
_Boroda_, Формула действительно работает, может не так элегантно как хотелось бы, но работает. Если по другому не получится(есть время подумать), то сделаю как Вы предложили. Спасибо.
_Boroda_, Формула действительно работает, может не так элегантно как хотелось бы, но работает. Если по другому не получится(есть время подумать), то сделаю как Вы предложили. Спасибо.Матраскин
Для кота в тюбетейке (или это кепка?). При ручной группировке в поле Предмет, сводная создала новое поле Предмет2, которое было переименовано в Индекс.
Для кота в тюбетейке (или это кепка?). При ручной группировке в поле Предмет, сводная создала новое поле Предмет2, которое было переименовано в Индекс.Rustem
А Вы еще посильнее данные раскидайте. Тогда бегемот получится не в 3 этажа, а в 5. Даже Сергей (между прочим, совершенно оправданно и не он один) в шоке. Видать, до сих пор не отошел - ко мне со всякими придирками пристает. Действительно, кроме шуток - когда я открыл таблицу исходную из предыдущей темы, то от неожиданности так матюгнулся, что аж своих соседей на работе напугал. Никак нельзя данные нормально расположить? Например, вот так -
А Вы еще посильнее данные раскидайте. Тогда бегемот получится не в 3 этажа, а в 5. Даже Сергей (между прочим, совершенно оправданно и не он один) в шоке. Видать, до сих пор не отошел - ко мне со всякими придирками пристает. Действительно, кроме шуток - когда я открыл таблицу исходную из предыдущей темы, то от неожиданности так матюгнулся, что аж своих соседей на работе напугал. Никак нельзя данные нормально расположить? Например, вот так -_Boroda_
Еще раз. При ручной группировке в поле Предмет, сводная создала новое поле Предмет2, которое было переименовано в Индекс. Может так понятнее. Смотрите файл.
Еще раз. При ручной группировке в поле Предмет, сводная создала новое поле Предмет2, которое было переименовано в Индекс. Может так понятнее. Смотрите файл.Rustem
А Вы еще посильнее данные раскидайте. Тогда бегемот получится не в 3 этажа, а в 5.
— Моя шляпа глубока и полна волшебства.(с) Рок-н-рольщик 16х12 таблица Вас пугает, а 7х34 нет. хотя 192 против 238. видите какое дело, я не знаю какой вид нужен для более простой и эффективной работы. потому исходя из логики- чем меньше, тем проще - сделал как можно компактней.
А Вы еще посильнее данные раскидайте. Тогда бегемот получится не в 3 этажа, а в 5.
— Моя шляпа глубока и полна волшебства.(с) Рок-н-рольщик 16х12 таблица Вас пугает, а 7х34 нет. хотя 192 против 238. видите какое дело, я не знаю какой вид нужен для более простой и эффективной работы. потому исходя из логики- чем меньше, тем проще - сделал как можно компактней.Матраскин
16х12 таблица Вас пугает, а 7х34 нет. хотя 192 против 238.
На размер смотреть не нужно. Нам важно расположение данных. Идеально - 3-я нормальная форма. Вот тут про нее (и не только) написано без особой зауми._Boroda_
Rustem, стрелочка, это понятно. У меня так тоже получилось. А откуда это поле Предмет2 появляется? Ну нет его в исходной таблице. А в полях сводной - есть.
Матраскин, недельку - другую повозишься, немного начнешь понимать. Я уже чуть-чуть начал.
Rustem, стрелочка, это понятно. У меня так тоже получилось. А откуда это поле Предмет2 появляется? Ну нет его в исходной таблице. А в полях сводной - есть.
Матраскин, недельку - другую повозишься, немного начнешь понимать. Я уже чуть-чуть начал.RAN
— Моя шляпа глубока и полна волшебства.(с) Рок-н-рольщик
Ой правда. В сводной есть поле Предмет2. Строю новую сводную с этого диапазона - есть. Копирую лист, строю с него - есть. Копирую в столбец В данные - нет.
— Моя шляпа глубока и полна волшебства.(с) Рок-н-рольщик
Ой правда. В сводной есть поле Предмет2. Строю новую сводную с этого диапазона - есть. Копирую лист, строю с него - есть. Копирую в столбец В данные - нет.RAN
В стародавние времена, когда ещё бал на рынке электронных таблиц правил Lotus 1-2-3, а Excel только вставал на ноги, сотрудник IBM, господин Пит Салас, будущий "отец сводных таблиц", задумался о таком малоприятном (на тот момент) факте, как скорость обработки данных, организованных в виде базы данных в электронных таблицах. Функции баз данных (тогда они были точно такими же какими мы видим их и сейчас) обрабатывали подобные списки в 16 тысяч строк (такое тогда было количество строк на листе Excel) по нескольку минут и это для ОДНОГО запроса. Если требовалось несколько транзакций для анализа, то работа с базами данных превращалась в сущее мучение. К тому же приходилось писать несколько формул и прописывать в них критерии. Скорость работы была обусловлена тем что функции просматривали данные поячеечно, сверху-вниз и слева-направо, записывая результаты просмотра в оперативную память из которой потом результаты вычислений возвращали на лист. Любой программист VBA скажет Вам что обращение к ячейкам - последнее дело и порядочный "тормоз". А с учетом того что оперативка в 256 - 512 Кб в то время была нормой - то становится жаль тех пользователей, которые пытались работать подобным образом.
В результате творческих поисков, Пит пришел к выводу, что для быстрой работы с такими данными, к диапазону надо обращаться ОДИН раз и не поячеечно, а сразу ко всему диапазону. Думаю что многие сейчас знают о том что это на порядок быстрее перебора Проблема с быстрым получением данных была решена, однако возникла другая проблема - где эти данные теперь хранить? Оперативки явно мало, а других контейнеров попросту нет. Ну не возвращать же данные снова на лист?! И вот тут родилась идея (такие идеи делают людей миллионерами) - организовать свой собственный, новый, ранее не существовавший контейнер. Пит это сделал, он придумал кэш (Pivot.Cashes). Для того что бы понять что такое кэш, можно представить себе текстовый файл, содержащий набор данных для базы данных. Сравнение не совсем корректное, но суть передать позволяет. Никаких ячеек и форматирования, тупо набор данных с индексами. Обращение к кэшу - практически мгновенное, размер его - минимален, но в то же время - это полноценная база данных.
У Пита осталась нерешенной последняя проблема - как теперь работать с кэшем, что бы пользователь мог легко задавать условия отбора данных и выводить их на лист. Функции этого не умеют, они работают именно с данными на листе. Вот тут и родилась идея сводных таблиц (вот ещё идея на миллион). Сводная - это просто каркас, который пользователь настраивает согласно своим требованиям, а этот каркас автоматически заполняется данными из кэша. Далее следует грустная история о том как MS перекупила патент на сводные и купила самого Саласа, однако отвечая на вопрос Андрея скажу: данные в кэше НИКАК не связаны с тем что мы видим на листе в исходных данных. После создания сводной мы можем эти данные изменять, перемещать или удалять - пока сводная не будет обновлена кэш не изменится. Когда мы группируем данные в сводной, происходит то же самое, группируются данные кэша, а так как сводная не позволяет иметь столбцы с идентичными названиями, то полю присваивается индекс с порядковым номером
В стародавние времена, когда ещё бал на рынке электронных таблиц правил Lotus 1-2-3, а Excel только вставал на ноги, сотрудник IBM, господин Пит Салас, будущий "отец сводных таблиц", задумался о таком малоприятном (на тот момент) факте, как скорость обработки данных, организованных в виде базы данных в электронных таблицах. Функции баз данных (тогда они были точно такими же какими мы видим их и сейчас) обрабатывали подобные списки в 16 тысяч строк (такое тогда было количество строк на листе Excel) по нескольку минут и это для ОДНОГО запроса. Если требовалось несколько транзакций для анализа, то работа с базами данных превращалась в сущее мучение. К тому же приходилось писать несколько формул и прописывать в них критерии. Скорость работы была обусловлена тем что функции просматривали данные поячеечно, сверху-вниз и слева-направо, записывая результаты просмотра в оперативную память из которой потом результаты вычислений возвращали на лист. Любой программист VBA скажет Вам что обращение к ячейкам - последнее дело и порядочный "тормоз". А с учетом того что оперативка в 256 - 512 Кб в то время была нормой - то становится жаль тех пользователей, которые пытались работать подобным образом.
В результате творческих поисков, Пит пришел к выводу, что для быстрой работы с такими данными, к диапазону надо обращаться ОДИН раз и не поячеечно, а сразу ко всему диапазону. Думаю что многие сейчас знают о том что это на порядок быстрее перебора Проблема с быстрым получением данных была решена, однако возникла другая проблема - где эти данные теперь хранить? Оперативки явно мало, а других контейнеров попросту нет. Ну не возвращать же данные снова на лист?! И вот тут родилась идея (такие идеи делают людей миллионерами) - организовать свой собственный, новый, ранее не существовавший контейнер. Пит это сделал, он придумал кэш (Pivot.Cashes). Для того что бы понять что такое кэш, можно представить себе текстовый файл, содержащий набор данных для базы данных. Сравнение не совсем корректное, но суть передать позволяет. Никаких ячеек и форматирования, тупо набор данных с индексами. Обращение к кэшу - практически мгновенное, размер его - минимален, но в то же время - это полноценная база данных.
У Пита осталась нерешенной последняя проблема - как теперь работать с кэшем, что бы пользователь мог легко задавать условия отбора данных и выводить их на лист. Функции этого не умеют, они работают именно с данными на листе. Вот тут и родилась идея сводных таблиц (вот ещё идея на миллион). Сводная - это просто каркас, который пользователь настраивает согласно своим требованиям, а этот каркас автоматически заполняется данными из кэша. Далее следует грустная история о том как MS перекупила патент на сводные и купила самого Саласа, однако отвечая на вопрос Андрея скажу: данные в кэше НИКАК не связаны с тем что мы видим на листе в исходных данных. После создания сводной мы можем эти данные изменять, перемещать или удалять - пока сводная не будет обновлена кэш не изменится. Когда мы группируем данные в сводной, происходит то же самое, группируются данные кэша, а так как сводная не позволяет иметь столбцы с идентичными названиями, то полю присваивается индекс с порядковым номером