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

Вход

Регистрация

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

 

= Мир MS Excel/Построение диаграммы с 2 усл с выбором значений с других лис - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Построение диаграммы с 2 усл с выбором значений с других лис
lebensvoll Дата: Пятница, 16.02.2018, 13:32 | Сообщение № 1
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Добрый день многоуважаемые форумчане....
Прошу Вас помочь решить задачу. Интернет в помощь не дал результативности в решении, возможно не так излагал условие, но два дня сижу смотрю материал но все ни то.
УСЛОВИЯ такие:
1. ЕСЛИ в ячейке (сейчас G6 выделена желтым цветом) будет указано В15 то график строится на основании данных с листа (в будущем с листов В25; В30;В22,5 и т.д) как и этот график
2. ЕСЛИ в ячейке (сейчас I6 выделена желтым цветом) будет указано 1 квартал (в будущем будет 2-й; 3-й; 4-й) то график строится на основании данных с листа (в будущем с листов В25; В30;В22,5 и т.д) как и этот график
3. Не знаю возможно ли такое но все же спросить Вас, должен.
ЕСЛИ я укажу не квартал а с какой именно даты взять значения (даты; Ri (Мпа)) но за три месяца (типо квартал)

ВО ВЛОЖЕНИИ ФАЙЛ.
Мне так кажется что подобное скорее всего без макроса не решить %) СПАСИБО ВАМ ВСЕМ ОГРОМНОЕ ЗА ОТВЕТЫ И ПОМОЩЬ
К сообщению приложен файл: 7459853.xlsx (57.3 Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеДобрый день многоуважаемые форумчане....
Прошу Вас помочь решить задачу. Интернет в помощь не дал результативности в решении, возможно не так излагал условие, но два дня сижу смотрю материал но все ни то.
УСЛОВИЯ такие:
1. ЕСЛИ в ячейке (сейчас G6 выделена желтым цветом) будет указано В15 то график строится на основании данных с листа (в будущем с листов В25; В30;В22,5 и т.д) как и этот график
2. ЕСЛИ в ячейке (сейчас I6 выделена желтым цветом) будет указано 1 квартал (в будущем будет 2-й; 3-й; 4-й) то график строится на основании данных с листа (в будущем с листов В25; В30;В22,5 и т.д) как и этот график
3. Не знаю возможно ли такое но все же спросить Вас, должен.
ЕСЛИ я укажу не квартал а с какой именно даты взять значения (даты; Ri (Мпа)) но за три месяца (типо квартал)

ВО ВЛОЖЕНИИ ФАЙЛ.
Мне так кажется что подобное скорее всего без макроса не решить %) СПАСИБО ВАМ ВСЕМ ОГРОМНОЕ ЗА ОТВЕТЫ И ПОМОЩЬ

Автор - lebensvoll
Дата добавления - 16.02.2018 в 13:32
bmv98rus Дата: Пятница, 16.02.2018, 13:43 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Вы встали на немого кривой путь но если без разных листов не обойтись, то
Диаграмма всегда строится с данными из промежуточного диапазона, а вот в этот диапазон данные попадают с нужных вам листов посредством функции доверительная ссылка
Код
=INDIRECT()

Можно поиграть с именами переменных и формулами определяющих (опять через туже функцию) области для графика, но стоит оно того?


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Пятница, 16.02.2018, 14:24
 
Ответить
СообщениеВы встали на немого кривой путь но если без разных листов не обойтись, то
Диаграмма всегда строится с данными из промежуточного диапазона, а вот в этот диапазон данные попадают с нужных вам листов посредством функции доверительная ссылка
Код
=INDIRECT()

Можно поиграть с именами переменных и формулами определяющих (опять через туже функцию) области для графика, но стоит оно того?

Автор - bmv98rus
Дата добавления - 16.02.2018 в 13:43
lebensvoll Дата: Пятница, 16.02.2018, 14:22 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
bmv98rus, спасибо за ответ...
Попробую тогда предложенное вами в создании промежуточного диапазона :'( :'( :'( раз так не представляется возможным. Просто файл и так уже подтормаживает (((( с таким объемом (967 КБ и предложенная вами функция задействована в нем, но для других промежуточных данных в расчете) да с таким же промежуточным решением ((((
Осталось лишь завершить проблему с графиком


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvoll - Пятница, 16.02.2018, 14:26
 
Ответить
Сообщениеbmv98rus, спасибо за ответ...
Попробую тогда предложенное вами в создании промежуточного диапазона :'( :'( :'( раз так не представляется возможным. Просто файл и так уже подтормаживает (((( с таким объемом (967 КБ и предложенная вами функция задействована в нем, но для других промежуточных данных в расчете) да с таким же промежуточным решением ((((
Осталось лишь завершить проблему с графиком

Автор - lebensvoll
Дата добавления - 16.02.2018 в 14:22
sboy Дата: Пятница, 16.02.2018, 14:29 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Макросом по листам прыгать не сложно.
а вот с датами не совсем понял... Вы пишите 1 квартал, а данные с мая по август включительно (не равно 1(первый?) квартал и не равно 3 месяца)
в модуль листа с диаграммой
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$G$6" Then Exit Sub
    On Error Resume Next
    Set sh = Worksheets(Target.Value)
        If Err Then
            Err.Clear
            Exit Sub
        End If
        With ChartObjects(1).Chart.SeriesCollection(3)
             .Values = Worksheets(Target.Value).Range("C2:C13")
             .XValues = Worksheets(Target.Value).Range("B2:B13")
        End With
End Sub
[/vba]
К сообщению приложен файл: chart.xlsm (64.7 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
Макросом по листам прыгать не сложно.
а вот с датами не совсем понял... Вы пишите 1 квартал, а данные с мая по август включительно (не равно 1(первый?) квартал и не равно 3 месяца)
в модуль листа с диаграммой
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$G$6" Then Exit Sub
    On Error Resume Next
    Set sh = Worksheets(Target.Value)
        If Err Then
            Err.Clear
            Exit Sub
        End If
        With ChartObjects(1).Chart.SeriesCollection(3)
             .Values = Worksheets(Target.Value).Range("C2:C13")
             .XValues = Worksheets(Target.Value).Range("B2:B13")
        End With
End Sub
[/vba]

Автор - sboy
Дата добавления - 16.02.2018 в 14:29
lebensvoll Дата: Пятница, 16.02.2018, 17:08 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
sboy, СПАСИБО ВАМ ЗА ОТВЕТ!!!
Цитата
Адимин прошу Вас помочь как правильно поступить... Данную тему создал в "Вопросы по эксель" думал решить задачу с помощью функций. Вроде бы решилась предложенным от bmv98rus, но проблематично применить к своей задумке.
Если вы считаете что тему нужно пересоздать для темы "Вопросы по VBA" то я пересоздам

sboy, это ведь пример в планах будут значения 1 квартала и начинаться как и должно быть с "Января" но не факт что с первого января ((((
А вот изменение диаграмы согласно классу бетона В15 (со значениями листа В15) все супер, Спасибо...
sboy, а можно тогда с датами поступить так:
в ячейке I6 будет указана дата пусть примерно 25.05.2017 тогда код находит в столбце B:B данную дату и захватывает диапазон дат от 25.05.2017 до какого то там (главное что за три месяца). Соответственно Ri(МПа) также берутся согласно этих дат!?


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvoll - Пятница, 16.02.2018, 17:10
 
Ответить
Сообщениеsboy, СПАСИБО ВАМ ЗА ОТВЕТ!!!
Цитата
Адимин прошу Вас помочь как правильно поступить... Данную тему создал в "Вопросы по эксель" думал решить задачу с помощью функций. Вроде бы решилась предложенным от bmv98rus, но проблематично применить к своей задумке.
Если вы считаете что тему нужно пересоздать для темы "Вопросы по VBA" то я пересоздам

sboy, это ведь пример в планах будут значения 1 квартала и начинаться как и должно быть с "Января" но не факт что с первого января ((((
А вот изменение диаграмы согласно классу бетона В15 (со значениями листа В15) все супер, Спасибо...
sboy, а можно тогда с датами поступить так:
в ячейке I6 будет указана дата пусть примерно 25.05.2017 тогда код находит в столбце B:B данную дату и захватывает диапазон дат от 25.05.2017 до какого то там (главное что за три месяца). Соответственно Ri(МПа) также берутся согласно этих дат!?

Автор - lebensvoll
Дата добавления - 16.02.2018 в 17:08
Pelena Дата: Пятница, 16.02.2018, 17:16 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19511
Репутация: 4620 ±
Замечаний: ±

Excel 365 & Mac Excel
я пересоздам
Не надо ничего пересоздавать

доверительная ссылка
Интересный перевод. Я всегда думала, что это двойная ссылка


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
я пересоздам
Не надо ничего пересоздавать

доверительная ссылка
Интересный перевод. Я всегда думала, что это двойная ссылка

Автор - Pelena
Дата добавления - 16.02.2018 в 17:16
bmv98rus Дата: Пятница, 16.02.2018, 17:29 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4147
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Интересный перевод.

Да, это я перегнул, :-) Косвенна в переводе более точном, но прикиньте КОССЫЛ :-) косая ссылка :-) . Ну не знаю я русских названий :-)


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Пятница, 16.02.2018, 17:30
 
Ответить
Сообщение
Интересный перевод.

Да, это я перегнул, :-) Косвенна в переводе более точном, но прикиньте КОССЫЛ :-) косая ссылка :-) . Ну не знаю я русских названий :-)

Автор - bmv98rus
Дата добавления - 16.02.2018 в 17:29
sboy Дата: Понедельник, 19.02.2018, 10:49 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
с датами примерно так можно сделать
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("G6", "I6")) Is Nothing Then
    On Error Resume Next
        Set sh = Worksheets([G6].Value)
            If Err Then
                Err.Clear
                Exit Sub
            End If
        On Error GoTo 0
        With Application
            x1 = .IfError(.Match([I6], sh.Range("B2:B33"), 0), .Match([I6], sh.Range("B2:B33"))) + 1
            x2 = .Match(CDbl([I6] + 91), sh.Range("B2:B33")) + 1
        End With
        Set rX = Range(sh.Cells(x1, 2), sh.Cells(x2, 2))
        With ChartObjects(1).Chart
             .SeriesCollection(3).Values = rX.Offset(0, 1)
             .SeriesCollection(3).XValues = rX
             .SeriesCollection(1).XValues = rX
        End With
    End If
End Sub
[/vba]
К сообщению приложен файл: 7100086.xlsm (69.7 Kb)


Яндекс: 410016850021169

Сообщение отредактировал sboy - Понедельник, 19.02.2018, 10:50
 
Ответить
СообщениеДобрый день.
с датами примерно так можно сделать
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("G6", "I6")) Is Nothing Then
    On Error Resume Next
        Set sh = Worksheets([G6].Value)
            If Err Then
                Err.Clear
                Exit Sub
            End If
        On Error GoTo 0
        With Application
            x1 = .IfError(.Match([I6], sh.Range("B2:B33"), 0), .Match([I6], sh.Range("B2:B33"))) + 1
            x2 = .Match(CDbl([I6] + 91), sh.Range("B2:B33")) + 1
        End With
        Set rX = Range(sh.Cells(x1, 2), sh.Cells(x2, 2))
        With ChartObjects(1).Chart
             .SeriesCollection(3).Values = rX.Offset(0, 1)
             .SeriesCollection(3).XValues = rX
             .SeriesCollection(1).XValues = rX
        End With
    End If
End Sub
[/vba]

Автор - sboy
Дата добавления - 19.02.2018 в 10:49
lebensvoll Дата: Понедельник, 19.02.2018, 12:34 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
sboy, hands hands hands ВЫ ПРОСТО ГЕНИЙ!!!
НО все же столкнулся с проблемой. Во вложении файл.
Суть в том что думал смогу пременить ваше решение к своему файлу, но УВЫ (((( ОШИБКИ. Потому как диаграмму переношу на другой лист. Решил сделать аналог своего файла на вашем решении моей проблемы ((((
Кто сможет помочь, прошу Вас подсобите..
Задача:
Имеется файл с листами (В7,5; В10;В15;В20;.........В45) на них собирается информация по прочности бетона. Далее идут еще три листа с промежуточными расчетами для обработки информации. Конечный Лист "ОТЧЕТ" где будет строиться график при выборе
1. класса бетона (согласно листу: В7,5; В10;В15;В20;.........В45)
2. а также указанная дата для построения графика значения Ri (Мпа). от начальной даты нужно построить график за период трех месяцев)

Предложенный вариант решения от bmv98rus, с промежуточными данными не предоставляется возможным :'( потому как файл и так уже много весит и подтормаживает. Решение от Сергея sboy, самое самое hands но есть мои оплошности

Заранее всем спасибо за помощь
К сообщению приложен файл: 8091851.xlsm (68.9 Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеsboy, hands hands hands ВЫ ПРОСТО ГЕНИЙ!!!
НО все же столкнулся с проблемой. Во вложении файл.
Суть в том что думал смогу пременить ваше решение к своему файлу, но УВЫ (((( ОШИБКИ. Потому как диаграмму переношу на другой лист. Решил сделать аналог своего файла на вашем решении моей проблемы ((((
Кто сможет помочь, прошу Вас подсобите..
Задача:
Имеется файл с листами (В7,5; В10;В15;В20;.........В45) на них собирается информация по прочности бетона. Далее идут еще три листа с промежуточными расчетами для обработки информации. Конечный Лист "ОТЧЕТ" где будет строиться график при выборе
1. класса бетона (согласно листу: В7,5; В10;В15;В20;.........В45)
2. а также указанная дата для построения графика значения Ri (Мпа). от начальной даты нужно построить график за период трех месяцев)

Предложенный вариант решения от bmv98rus, с промежуточными данными не предоставляется возможным :'( потому как файл и так уже много весит и подтормаживает. Решение от Сергея sboy, самое самое hands но есть мои оплошности

Заранее всем спасибо за помощь

Автор - lebensvoll
Дата добавления - 19.02.2018 в 12:34
sboy Дата: Понедельник, 19.02.2018, 12:53 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Вы сделали все правильно.
одно место я поправил, а так ошибка выскакивала из-за даты до первой в диапазоне.
Поправил, теперь если дата введенная раньше чем первая в диапазоне, берем первую.
Но, первая дата из диапазона должны быть <= введенная +91 день. Иначе вылет с ошибкой.
К сообщению приложен файл: 2592309.xlsm (68.9 Kb)


Яндекс: 410016850021169

Сообщение отредактировал sboy - Понедельник, 19.02.2018, 12:54
 
Ответить
СообщениеВы сделали все правильно.
одно место я поправил, а так ошибка выскакивала из-за даты до первой в диапазоне.
Поправил, теперь если дата введенная раньше чем первая в диапазоне, берем первую.
Но, первая дата из диапазона должны быть <= введенная +91 день. Иначе вылет с ошибкой.

Автор - sboy
Дата добавления - 19.02.2018 в 12:53
lebensvoll Дата: Понедельник, 19.02.2018, 13:11 | Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
sboy, :o
Цитата
Вы сделали все правильно.

Я ни че не делал :'( это все ВЫ hands hands hands СПАСИБО ВАМ ОГРОМНОЕ!!!


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеsboy, :o
Цитата
Вы сделали все правильно.

Я ни че не делал :'( это все ВЫ hands hands hands СПАСИБО ВАМ ОГРОМНОЕ!!!

Автор - lebensvoll
Дата добавления - 19.02.2018 в 13:11
  • Страница 1 из 1
  • 1
Поиск:

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