Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенос данных с одного листа на другой - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Перенос данных с одного листа на другой
yukiyui Дата: Среда, 12.10.2022, 10:56 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте! В сфере таблиц я чайничек, поэтому никак не могу решить сей вопрос.

Предположим, что у нас имеется расписание для обучающихся (Лист1, в прикрепленном файле), требуется сформировать расписание для обучающих (вывести его на Лист2), с выведением кабинетов и временем занятий.

Буду очень благодарен за помощь, спасибо.


Есть предположение, что в существующем виде сделать это невозможно (потому что информация о занятиях находится в одной ячейке, вероятнее всего, получится только если заносить все данные в отдельные ячейки: день недели, время занятия, обучающий, кабинет).
К сообщению приложен файл: example.xlsx (10.5 Kb)
 
Ответить
СообщениеЗдравствуйте! В сфере таблиц я чайничек, поэтому никак не могу решить сей вопрос.

Предположим, что у нас имеется расписание для обучающихся (Лист1, в прикрепленном файле), требуется сформировать расписание для обучающих (вывести его на Лист2), с выведением кабинетов и временем занятий.

Буду очень благодарен за помощь, спасибо.


Есть предположение, что в существующем виде сделать это невозможно (потому что информация о занятиях находится в одной ячейке, вероятнее всего, получится только если заносить все данные в отдельные ячейки: день недели, время занятия, обучающий, кабинет).

Автор - yukiyui
Дата добавления - 12.10.2022 в 10:56
_Boroda_ Дата: Среда, 12.10.2022, 11:29 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Есть предположение
Абсолютно верное предположение. А дальше все сводными таблицами элементарно делается
К сообщению приложен файл: ererer_1.xlsm (18.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Есть предположение
Абсолютно верное предположение. А дальше все сводными таблицами элементарно делается

Автор - _Boroda_
Дата добавления - 12.10.2022 в 11:29
yukiyui Дата: Среда, 12.10.2022, 11:37 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Понял, благодарю за помощь. Попробую реализовать иначе, используя сводные таблицы.
 
Ответить
СообщениеПонял, благодарю за помощь. Попробую реализовать иначе, используя сводные таблицы.

Автор - yukiyui
Дата добавления - 12.10.2022 в 11:37
Serge_007 Дата: Среда, 12.10.2022, 11:43 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
в существующем виде сделать это невозможно
Возможно
Но трудозатраты на реализацию и её эффективность становятся несоизмеримыми с результатом


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
в существующем виде сделать это невозможно
Возможно
Но трудозатраты на реализацию и её эффективность становятся несоизмеримыми с результатом

Автор - Serge_007
Дата добавления - 12.10.2022 в 11:43
_Boroda_ Дата: Среда, 12.10.2022, 11:45 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Попробую реализовать иначе

Я Вам в файле в предыдущем своем сообщении все сделал уже


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Попробую реализовать иначе

Я Вам в файле в предыдущем своем сообщении все сделал уже

Автор - _Boroda_
Дата добавления - 12.10.2022 в 11:45
yukiyui Дата: Среда, 12.10.2022, 11:53 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Я Вам в файле в предыдущем своем сообщении все сделал уже

Да, я видел, спасибо.

Я имел в виду, что попробую реализовать иначе в своем основном проекте.
 
Ответить
Сообщение
Я Вам в файле в предыдущем своем сообщении все сделал уже

Да, я видел, спасибо.

Я имел в виду, что попробую реализовать иначе в своем основном проекте.

Автор - yukiyui
Дата добавления - 12.10.2022 в 11:53
yukiyui Дата: Среда, 12.10.2022, 11:59 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

трудозатраты на реализацию и её эффективность становятся несоизмеримыми с результатом


Честно говоря, я обратного мнения. Стоит отметить, что я единственный, кто задался вопросом автоматизации сих процессов. Написал бота на питоне, который парсит информацию с файла и отправляет её в телеграм. Каждый обучающийся может изучить расписание своей группы, нажав пару кнопок, а сейчас хочу сделать, чтобы каждый обучающий смог просмотреть своё расписание.

Сам основной файл масштабный, десятки листов с расписанием (расписание существует и меняется на протяжении десятка лет).

Поэтому, Сергей, если есть возможность описать как всё реализовать, буду благодарен.
 
Ответить
Сообщение
трудозатраты на реализацию и её эффективность становятся несоизмеримыми с результатом


Честно говоря, я обратного мнения. Стоит отметить, что я единственный, кто задался вопросом автоматизации сих процессов. Написал бота на питоне, который парсит информацию с файла и отправляет её в телеграм. Каждый обучающийся может изучить расписание своей группы, нажав пару кнопок, а сейчас хочу сделать, чтобы каждый обучающий смог просмотреть своё расписание.

Сам основной файл масштабный, десятки листов с расписанием (расписание существует и меняется на протяжении десятка лет).

Поэтому, Сергей, если есть возможность описать как всё реализовать, буду благодарен.

Автор - yukiyui
Дата добавления - 12.10.2022 в 11:59
msi2102 Дата: Среда, 12.10.2022, 12:20 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 415
Репутация: 129 ±
Замечаний: 0% ±

Excel 2007
Вот кнопочный вариант PQ
[vba]
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Разделить столбец по разделителю" = Table.SplitColumn(Источник, "Группа №1", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv)),
    #"Разделить столбец по разделителю1" = Table.SplitColumn(#"Разделить столбец по разделителю", "Группа №2", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv)),
    #"Разделить столбец по разделителю2" = Table.SplitColumn(#"Разделить столбец по разделителю1", "Группа №3", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv)),
    #"Несвернутые столбцы" = Table.UnpivotOtherColumns(#"Разделить столбец по разделителю2", {}, "Атрибут", "Значение"),
    #"Строки с примененным фильтром" = Table.SelectRows(#"Несвернутые столбцы", each [Значение] <> null and [Значение] <> ""),
    #"Извлеченный текст перед разделителем" = Table.TransformColumns(#"Строки с примененным фильтром", {{"Атрибут", each Text.BeforeDelimiter(_, "."), type text}}),
    #"Условный столбец добавлен" = Table.AddColumn(#"Извлеченный текст перед разделителем", "Пользовательский", each if [Значение] = "Понедельник" then "1/Понедельник" else if [Значение] = "Вторник" then "2/Вторник" else if [Значение] = "Среда" then "3/Среда" else if [Значение] = "Четверг" then "4/Четверг" else if [Значение] = "Пятница" then "5/Пятница" else if [Значение] = "Суббота" then "6/Суббота" else if [Значение] = "Воскресенье" then "7/Воскресенье" else null),
    #"Заполнение вниз" = Table.FillDown(#"Условный столбец добавлен",{"Пользовательский"}),
    #"Строки с примененным фильтром1" = Table.SelectRows(#"Заполнение вниз", each not Text.Contains([Значение], "Понедельник") and not Text.Contains([Значение], "Вторник") and not Text.Contains([Значение], "Среда") and not Text.Contains([Значение], "Четверг") and not Text.Contains([Значение], "Пятница") and not Text.Contains([Значение], "Суббота") and not Text.Contains([Значение], "Воскресенье")),
    #"Добавлен индекс" = Table.AddIndexColumn(#"Строки с примененным фильтром1", "Индекс", 0, 1, Int64.Type),
    #"Целочисленное деление" = Table.AddColumn(#"Добавлен индекс", "Целочисленное деление", each Number.IntegerDivide([Индекс], 3), Int64.Type),
    #"Вычисленный остаток от деления" = Table.TransformColumns(#"Целочисленное деление", {{"Индекс", each Number.Mod(_, 3), type number}}),
    #"Сведенный столбец" = Table.Pivot(Table.TransformColumnTypes(#"Вычисленный остаток от деления", {{"Индекс", type text}}, "ru-RU"), List.Distinct(Table.TransformColumnTypes(#"Вычисленный остаток от деления", {{"Индекс", type text}}, "ru-RU")[Индекс]), "Индекс", "Значение"),
    #"Сортированные строки" = Table.Sort(#"Сведенный столбец",{{"1", Order.Ascending}, {"Пользовательский", Order.Ascending}, {"0", Order.Ascending}}),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Сортированные строки",{"Целочисленное деление"}),
    #"Извлеченный текст после разделителя" = Table.TransformColumns(#"Удаленные столбцы", {{"Пользовательский", each Text.AfterDelimiter(_, "/"), type text}}),
    #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Извлеченный текст после разделителя",{"1", "Пользовательский", "0", "Атрибут", "2"}),
    #"Переименованные столбцы" = Table.RenameColumns(#"Переупорядоченные столбцы",{{"1", "ФИО"}, {"Пользовательский", "День недели"}, {"0", "Время"}, {"Атрибут", "Группа"}, {"2", "Кабинет"}})
in
    #"Переименованные столбцы"
[/vba]
К сообщению приложен файл: Example.xlsx (23.9 Kb)


Сообщение отредактировал msi2102 - Среда, 12.10.2022, 15:32
 
Ответить
СообщениеВот кнопочный вариант PQ
[vba]
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Разделить столбец по разделителю" = Table.SplitColumn(Источник, "Группа №1", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv)),
    #"Разделить столбец по разделителю1" = Table.SplitColumn(#"Разделить столбец по разделителю", "Группа №2", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv)),
    #"Разделить столбец по разделителю2" = Table.SplitColumn(#"Разделить столбец по разделителю1", "Группа №3", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv)),
    #"Несвернутые столбцы" = Table.UnpivotOtherColumns(#"Разделить столбец по разделителю2", {}, "Атрибут", "Значение"),
    #"Строки с примененным фильтром" = Table.SelectRows(#"Несвернутые столбцы", each [Значение] <> null and [Значение] <> ""),
    #"Извлеченный текст перед разделителем" = Table.TransformColumns(#"Строки с примененным фильтром", {{"Атрибут", each Text.BeforeDelimiter(_, "."), type text}}),
    #"Условный столбец добавлен" = Table.AddColumn(#"Извлеченный текст перед разделителем", "Пользовательский", each if [Значение] = "Понедельник" then "1/Понедельник" else if [Значение] = "Вторник" then "2/Вторник" else if [Значение] = "Среда" then "3/Среда" else if [Значение] = "Четверг" then "4/Четверг" else if [Значение] = "Пятница" then "5/Пятница" else if [Значение] = "Суббота" then "6/Суббота" else if [Значение] = "Воскресенье" then "7/Воскресенье" else null),
    #"Заполнение вниз" = Table.FillDown(#"Условный столбец добавлен",{"Пользовательский"}),
    #"Строки с примененным фильтром1" = Table.SelectRows(#"Заполнение вниз", each not Text.Contains([Значение], "Понедельник") and not Text.Contains([Значение], "Вторник") and not Text.Contains([Значение], "Среда") and not Text.Contains([Значение], "Четверг") and not Text.Contains([Значение], "Пятница") and not Text.Contains([Значение], "Суббота") and not Text.Contains([Значение], "Воскресенье")),
    #"Добавлен индекс" = Table.AddIndexColumn(#"Строки с примененным фильтром1", "Индекс", 0, 1, Int64.Type),
    #"Целочисленное деление" = Table.AddColumn(#"Добавлен индекс", "Целочисленное деление", each Number.IntegerDivide([Индекс], 3), Int64.Type),
    #"Вычисленный остаток от деления" = Table.TransformColumns(#"Целочисленное деление", {{"Индекс", each Number.Mod(_, 3), type number}}),
    #"Сведенный столбец" = Table.Pivot(Table.TransformColumnTypes(#"Вычисленный остаток от деления", {{"Индекс", type text}}, "ru-RU"), List.Distinct(Table.TransformColumnTypes(#"Вычисленный остаток от деления", {{"Индекс", type text}}, "ru-RU")[Индекс]), "Индекс", "Значение"),
    #"Сортированные строки" = Table.Sort(#"Сведенный столбец",{{"1", Order.Ascending}, {"Пользовательский", Order.Ascending}, {"0", Order.Ascending}}),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Сортированные строки",{"Целочисленное деление"}),
    #"Извлеченный текст после разделителя" = Table.TransformColumns(#"Удаленные столбцы", {{"Пользовательский", each Text.AfterDelimiter(_, "/"), type text}}),
    #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Извлеченный текст после разделителя",{"1", "Пользовательский", "0", "Атрибут", "2"}),
    #"Переименованные столбцы" = Table.RenameColumns(#"Переупорядоченные столбцы",{{"1", "ФИО"}, {"Пользовательский", "День недели"}, {"0", "Время"}, {"Атрибут", "Группа"}, {"2", "Кабинет"}})
in
    #"Переименованные столбцы"
[/vba]

Автор - msi2102
Дата добавления - 12.10.2022 в 12:20
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!