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

Вход

Регистрация

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

 

= Мир MS Excel/Зависимый выпадающий список + диапазон со смещением - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Зависимый выпадающий список + диапазон со смещением (нужна помощь профессианалов)
Зависимый выпадающий список + диапазон со смещением
Rusel Дата: Понедельник, 20.02.2012, 10:08 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 10 ±
Замечаний: 0% ±

Добрый день. И опять обращаюсь к профессионалам. В приложении проектируемая база данных, в которой должно отражаться движение материалов. Потом на основании этого движения будет создана сводная таблица, в которой хочу видеть остатки по конкретным позициям, движении по конкретным позициям и т.д.
Так вот, вопрос в следующем: на странице "база" в колонке "наименование" выпадает список соответствующий имеющимся наименованиям. Нужно чтобы в колонке "Цвет" выпадал список, соответствующий данному наименованию. Причем диапазон цветов может быть дополнен, поэтому нужны функции со смещением. Во вложенном файле я попытался сделать такой список, прочитав инструкцию на одном сайте, но что-то не так, цвета выпадают только те, которые соответствуют первому наименованию. Наименования и соответствующие цвета находятся на странице "данные".
Кто-нибудь может помочь разобраться с этим? Еще бы хотелось, чтобы при вводе строки с операцией "расход" вся строка окрашивалась в красный цвет. Это возможно?
К сообщению приложен файл: 7346366.xls (28.5 Kb)


Сообщение отредактировал Rusel - Понедельник, 20.02.2012, 10:08
 
Ответить
СообщениеДобрый день. И опять обращаюсь к профессионалам. В приложении проектируемая база данных, в которой должно отражаться движение материалов. Потом на основании этого движения будет создана сводная таблица, в которой хочу видеть остатки по конкретным позициям, движении по конкретным позициям и т.д.
Так вот, вопрос в следующем: на странице "база" в колонке "наименование" выпадает список соответствующий имеющимся наименованиям. Нужно чтобы в колонке "Цвет" выпадал список, соответствующий данному наименованию. Причем диапазон цветов может быть дополнен, поэтому нужны функции со смещением. Во вложенном файле я попытался сделать такой список, прочитав инструкцию на одном сайте, но что-то не так, цвета выпадают только те, которые соответствуют первому наименованию. Наименования и соответствующие цвета находятся на странице "данные".
Кто-нибудь может помочь разобраться с этим? Еще бы хотелось, чтобы при вводе строки с операцией "расход" вся строка окрашивалась в красный цвет. Это возможно?

Автор - Rusel
Дата добавления - 20.02.2012 в 10:08
_Boroda_ Дата: Понедельник, 20.02.2012, 11:28 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Где-то так примерно

Пояснялка
Цвет строки меняется в условном форматировании. Там все просто.

Для вып. списков сначала создал имя "Для_цветов" =СМЕЩ(данные!$B$2;;;СЧЁТЗ(данные!$B:$B)-1), чтобы можно было добавлять цвета на лист "Данные", затем измени Ваше имя "Цвет" на =СМЕЩ(данные!$C$1;ПОИСКПОЗ(база!$C2;Для_цветов;0);;СЧЁТЕСЛИ(Для_цветов;база!$C2);1). Основная фишка в имени "Цвет" (не все знают, что так можно) - отсутствие знака $ в ссылке база!$C2 (когда прописываем это имя, нужно, чтобы курсор находился в любой ячейке 2-й строки листа "База", а чтоб уж точно не ошибиться - в D2, тогда можно даже так: база!C2)
Про нумерацию - да, за крестик, и можно заранее строк на 100-200 (или сколько там предполагается, но без фанатизма). Но я бы написал немного по-другому
=ЕСЛИ(ЕТЕКСТ(C2);СУММ(A1;1);"")
тогда можно начинать данные таблицы не со второй строки, а с любой, отличной от первой
К сообщению приложен файл: 7346366_1.xls (42.0 Kb)


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

Пояснялка
Цвет строки меняется в условном форматировании. Там все просто.

Для вып. списков сначала создал имя "Для_цветов" =СМЕЩ(данные!$B$2;;;СЧЁТЗ(данные!$B:$B)-1), чтобы можно было добавлять цвета на лист "Данные", затем измени Ваше имя "Цвет" на =СМЕЩ(данные!$C$1;ПОИСКПОЗ(база!$C2;Для_цветов;0);;СЧЁТЕСЛИ(Для_цветов;база!$C2);1). Основная фишка в имени "Цвет" (не все знают, что так можно) - отсутствие знака $ в ссылке база!$C2 (когда прописываем это имя, нужно, чтобы курсор находился в любой ячейке 2-й строки листа "База", а чтоб уж точно не ошибиться - в D2, тогда можно даже так: база!C2)
Про нумерацию - да, за крестик, и можно заранее строк на 100-200 (или сколько там предполагается, но без фанатизма). Но я бы написал немного по-другому
=ЕСЛИ(ЕТЕКСТ(C2);СУММ(A1;1);"")
тогда можно начинать данные таблицы не со второй строки, а с любой, отличной от первой

Автор - _Boroda_
Дата добавления - 20.02.2012 в 11:28
Rusel Дата: Понедельник, 20.02.2012, 12:09 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 10 ±
Замечаний: 0% ±

_Boroda_, Спасибо.
А не могли бы вы поподробнее описать что было сделано... Охота самому разобраться и иметь возможность вносить изменения, например менять цвет строки с операцией "расход".
И еще: в приложенном файле добавлена автоматическая нумерация строк. эту формулу нужно протянуть до конца вниз. это делается вручную, зацепившись за крестик в правом нижнем углу ячейки или как-то по другому?
К сообщению приложен файл: _7346366_1.xls (42.0 Kb)


Сообщение отредактировал Rusel - Понедельник, 20.02.2012, 12:20
 
Ответить
Сообщение_Boroda_, Спасибо.
А не могли бы вы поподробнее описать что было сделано... Охота самому разобраться и иметь возможность вносить изменения, например менять цвет строки с операцией "расход".
И еще: в приложенном файле добавлена автоматическая нумерация строк. эту формулу нужно протянуть до конца вниз. это делается вручную, зацепившись за крестик в правом нижнем углу ячейки или как-то по другому?

Автор - Rusel
Дата добавления - 20.02.2012 в 12:09
Rusel Дата: Понедельник, 20.02.2012, 13:21 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 10 ±
Замечаний: 0% ±

В приложенном файле в сводной таблице у меня не группируются даты. Что там не так? Подскажите?

http://files.mail.ru/RNB8TV

И почему он такой тяжелый?


Сообщение отредактировал Rusel - Понедельник, 20.02.2012, 13:23
 
Ответить
СообщениеВ приложенном файле в сводной таблице у меня не группируются даты. Что там не так? Подскажите?

http://files.mail.ru/RNB8TV

И почему он такой тяжелый?

Автор - Rusel
Дата добавления - 20.02.2012 в 13:21
Rusel Дата: Понедельник, 20.02.2012, 13:32 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 10 ±
Замечаний: 0% ±

Еще вопрос: как можно сделать так, чтобы при выборе операции "расход" - в колонке "количество" число вводилось сразу отрицательным (без нажатия знака минус)? Такое возможно?
 
Ответить
СообщениеЕще вопрос: как можно сделать так, чтобы при выборе операции "расход" - в колонке "количество" число вводилось сразу отрицательным (без нажатия знака минус)? Такое возможно?

Автор - Rusel
Дата добавления - 20.02.2012 в 13:32
Jhonson Дата: Вторник, 21.02.2012, 09:04 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Можно, но думаю только макросом:

[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(Target.Row, Target.Column - 1) = "расход" Then
      If Target.Value > 0 Then Target.Value = -Target.Value
End If
End Sub
[/vba]

или так еще покороче:
[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Offset(, -1) = "расход" Then
     Target.Value = -Abs(Target.Value)
End If
End Sub
[/vba]
К сообщению приложен файл: 5311180.xls (34.5 Kb)


"Ничто не приносит людям столько неприятностей, как разум."

Сообщение отредактировал Jhonson - Вторник, 21.02.2012, 09:43
 
Ответить
СообщениеМожно, но думаю только макросом:

[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(Target.Row, Target.Column - 1) = "расход" Then
      If Target.Value > 0 Then Target.Value = -Target.Value
End If
End Sub
[/vba]

или так еще покороче:
[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Offset(, -1) = "расход" Then
     Target.Value = -Abs(Target.Value)
End If
End Sub
[/vba]

Автор - Jhonson
Дата добавления - 21.02.2012 в 09:04
Rusel Дата: Вторник, 21.02.2012, 10:23 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 10 ±
Замечаний: 0% ±

Jhonson, спасибо. А на счет группировки дат (в месяцы, кварталы и т.д.) что у меня там не так, почему не группируется?
 
Ответить
СообщениеJhonson, спасибо. А на счет группировки дат (в месяцы, кварталы и т.д.) что у меня там не так, почему не группируется?

Автор - Rusel
Дата добавления - 21.02.2012 в 10:23
Serge_007 Дата: Вторник, 21.02.2012, 11:22 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Rusel)
на счет группировки дат (в месяцы, кварталы и т.д.) что у меня там не так, почему не группируется?

Потому что в исходном диапазоне есть пустые ячейки (а это уже не даты), и их группировать Excel не может.
К сообщению приложен файл: Rusel_3.rar (8.1 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Rusel)
на счет группировки дат (в месяцы, кварталы и т.д.) что у меня там не так, почему не группируется?

Потому что в исходном диапазоне есть пустые ячейки (а это уже не даты), и их группировать Excel не может.

Автор - Serge_007
Дата добавления - 21.02.2012 в 11:22
Rusel Дата: Вторник, 21.02.2012, 11:31 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 10 ±
Замечаний: 0% ±

Serge_007, Т.е. в том варианте, который у меня (автозаполнение №№ протянуто до конца вниз) - не получится группировка?
 
Ответить
СообщениеSerge_007, Т.е. в том варианте, который у меня (автозаполнение №№ протянуто до конца вниз) - не получится группировка?

Автор - Rusel
Дата добавления - 21.02.2012 в 11:31
Serge_007 Дата: Вторник, 21.02.2012, 11:41 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
№№ здесь ни при чём, можете оставить, группироваться будет.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение№№ здесь ни при чём, можете оставить, группироваться будет.

Автор - Serge_007
Дата добавления - 21.02.2012 в 11:41
_Boroda_ Дата: Вторник, 21.02.2012, 11:48 | Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Quote
Serge_007, Т.е. в том варианте, который у меня (автозаполнение №№ протянуто до конца вниз) - не получится группировка?Rusel

Сергей, у тебя в именованном диапазоне не совсем верно. Нужно или=СМЕЩ(база!$A$1;;;СЧЁТЗ(база!$B:$B);9), или=СМЕЩ(база!$A$1;;;СЧЁТ(база!$B:$B)+1;9).

там у тебя написано
=СМЕЩ(база!$A$1;;;СЧЁТ(база!$B$1:$B$15);9)


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

Сергей, у тебя в именованном диапазоне не совсем верно. Нужно или=СМЕЩ(база!$A$1;;;СЧЁТЗ(база!$B:$B);9), или=СМЕЩ(база!$A$1;;;СЧЁТ(база!$B:$B)+1;9).

там у тебя написано
=СМЕЩ(база!$A$1;;;СЧЁТ(база!$B$1:$B$15);9)

Автор - _Boroda_
Дата добавления - 21.02.2012 в 11:48
Rusel Дата: Вторник, 21.02.2012, 11:51 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 10 ±
Замечаний: 0% ±

А понял, диапазон, из которого формируется сводная у меня содержит пустые ячейки, а в вашем примере - нет. Но если я задам какой-то фиксированный диапазон по фактическому заполнению базы, то каждый раз при добавлении новых данных, для вывода отчета нужно формировать новую сводную?
 
Ответить
СообщениеА понял, диапазон, из которого формируется сводная у меня содержит пустые ячейки, а в вашем примере - нет. Но если я задам какой-то фиксированный диапазон по фактическому заполнению базы, то каждый раз при добавлении новых данных, для вывода отчета нужно формировать новую сводную?

Автор - Rusel
Дата добавления - 21.02.2012 в 11:51
Serge_007 Дата: Вторник, 21.02.2012, 11:51 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (_Boroda_)
Нужно или=СМЕЩ(база!$A$1;;;СЧЁТЗ(база!$B:$B);9), или=СМЕЩ(база!$A$1;;;СЧЁТ(база!$B:$B)+1;9).

Зачем? Я не знаю версию Excel ТС, поэтому задал только 1000 строк

Quote (Rusel)
каждый раз при добавлении новых данных, для вывода отчета нужно формировать новую сводную?

Я нарисовал Вам динамически именованый диапазон. При добавлении данных он сам расширяется.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (_Boroda_)
Нужно или=СМЕЩ(база!$A$1;;;СЧЁТЗ(база!$B:$B);9), или=СМЕЩ(база!$A$1;;;СЧЁТ(база!$B:$B)+1;9).

Зачем? Я не знаю версию Excel ТС, поэтому задал только 1000 строк

Quote (Rusel)
каждый раз при добавлении новых данных, для вывода отчета нужно формировать новую сводную?

Я нарисовал Вам динамически именованый диапазон. При добавлении данных он сам расширяется.

Автор - Serge_007
Дата добавления - 21.02.2012 в 11:51
Serge_007 Дата: Вторник, 21.02.2012, 11:54 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (_Boroda_)
там у тебя написано

Поправил, перевложил, спасибо


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (_Boroda_)
там у тебя написано

Поправил, перевложил, спасибо

Автор - Serge_007
Дата добавления - 21.02.2012 в 11:54
Rusel Дата: Вторник, 21.02.2012, 15:14 | Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 10 ±
Замечаний: 0% ±

Спасибо _Boroda_ и Serge_007 за помощь в создании данного документа. Вот что у меня получилось (результат во вложении). Теперь я могу:
1) добавлять цвета путем добавления или вставки строк на странице "данные", при этом новые цвета появляются в всплывающих списках
2) добавлять строки на странице "база", при этом диапазон под именем "исх" автоматически увеличивается до окончания строк на странице
3) при выборе операции "расход" число в колонке "количество" вводится со знаком "-" , и данная строка окрашивается в цвет

Вы просто волшебники...

Да и как это файл правильно сохранять? Я имею ввиду как книгу с поддержкой макросов или можно как книгу 97-2003? И если его использовать на другом компе, там обязательно установить настройки безопасности с поддержкой макросов?

http://files.mail.ru/2847MM
 
Ответить
СообщениеСпасибо _Boroda_ и Serge_007 за помощь в создании данного документа. Вот что у меня получилось (результат во вложении). Теперь я могу:
1) добавлять цвета путем добавления или вставки строк на странице "данные", при этом новые цвета появляются в всплывающих списках
2) добавлять строки на странице "база", при этом диапазон под именем "исх" автоматически увеличивается до окончания строк на странице
3) при выборе операции "расход" число в колонке "количество" вводится со знаком "-" , и данная строка окрашивается в цвет

Вы просто волшебники...

Да и как это файл правильно сохранять? Я имею ввиду как книгу с поддержкой макросов или можно как книгу 97-2003? И если его использовать на другом компе, там обязательно установить настройки безопасности с поддержкой макросов?

http://files.mail.ru/2847MM

Автор - Rusel
Дата добавления - 21.02.2012 в 15:14
Serge_007 Дата: Вторник, 21.02.2012, 16:11 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Rusel)
как это файл правильно сохранять? Я имею ввиду как книгу с поддержкой макросов или можно как книгу 97-2003?

Будут работать оба варианта.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Rusel)
как это файл правильно сохранять? Я имею ввиду как книгу с поддержкой макросов или можно как книгу 97-2003?

Будут работать оба варианта.

Автор - Serge_007
Дата добавления - 21.02.2012 в 16:11
lifecom Дата: Среда, 06.06.2012, 12:19 | Сообщение № 17
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

_Boroda_,
В этом посте Вы описали схему.
Она работает только если Наименования в данных идут друг за другом без перемешивания, т.е.: 1,1,1,2,2,2,2,3,3,3,3,3
Поскажите пожалуйста, есть ли решение, если Наименования идут вразброс, т.е.: 1,2,2,1,3,2,1,1,3,3
 
Ответить
Сообщение_Boroda_,
В этом посте Вы описали схему.
Она работает только если Наименования в данных идут друг за другом без перемешивания, т.е.: 1,1,1,2,2,2,2,3,3,3,3,3
Поскажите пожалуйста, есть ли решение, если Наименования идут вразброс, т.е.: 1,2,2,1,3,2,1,1,3,3

Автор - lifecom
Дата добавления - 06.06.2012 в 12:19
INTEKO_Fisyn Дата: Воскресенье, 05.07.2015, 22:20 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Добрый день. Помогите со связным выпадающим списком.
Вообщем нужно минимизировать всю таблицу и поместить ее в 3-и ячейки
В приложении я написал, что конкретно нужно.
Заранее спасибо!
[moder]Не, не пойдет.
Прочитайте Правила форума и создайте свою тему.
Эту тему закрыл
К сообщению приложен файл: 4731893.xlsx (12.4 Kb)


Сообщение отредактировал _Boroda_ - Воскресенье, 05.07.2015, 22:25
 
Ответить
СообщениеДобрый день. Помогите со связным выпадающим списком.
Вообщем нужно минимизировать всю таблицу и поместить ее в 3-и ячейки
В приложении я написал, что конкретно нужно.
Заранее спасибо!
[moder]Не, не пойдет.
Прочитайте Правила форума и создайте свою тему.
Эту тему закрыл

Автор - INTEKO_Fisyn
Дата добавления - 05.07.2015 в 22:20
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Зависимый выпадающий список + диапазон со смещением (нужна помощь профессианалов)
  • Страница 1 из 1
  • 1
Поиск:

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