Страницы: 1
RSS
Наполнение таблицы по условиям из списков
 
Приветствую всех!
Спасибо сайту за помощь в создании связанных списков. Но столкнулся с проблемой, которую не смог решить.

Можно ли сделать так, чтобы значение Value статических параметров А1-А9 при выборе CHECK1 и CHECK2 попадали в соответствующую ячейку TOTAL? Без применения макросов!
Если примитивно, то на видео попробовал показать суть проблемы.

Буду премного благодарен за помощь!
 
А сводная - при чем? Вы хотите, чтобы введенные данные сохранились и при следующем выборе из выпадающих списков таблица дополнялась? Так без макросов не получится
 
Код
N3    =ЕСЛИ($A$4=$M3;ВПР(N$2;$A$6:$B$14;2;0);"")
 
Цитата
vikttur написал: А сводная - при чем
По сути на этапе check2 столбец Value должен браться из соответствующей строчки TOTAL. Значения заполняются и попадают в сводную.

МатросНаЗебре, спасибо! Только вот при выборе другого значения из Check2 Value не меняется =(
 
Цитата
Илья Анисимов написал:
чтобы значение Value статических параметров А1-А9 при выборе CHECK1 и CHECK2 попадали в соответствующую ячейку TOTAL
Цитата
Илья Анисимов написал:
столбец Value должен браться из соответствующей строчки TOTAL
Так откуда-куда данные попадают? Из TOTAL в Value, или наоборот?

"Кто на ком стоял? Потрудитесь объясняться яснее." Ф.Ф. Преображенский
 
Цитата
МатросНаЗебре написал:
Кто на ком стоял
🤣 стояли... да-да. Тотал на то и тотал.. это сводная. А вот Value это как раз конкретные параметры каждого из значений Check1-2. То есть из Value → Total
 
Цитата
vikttur написал: Вы хотите, чтобы введенные данные сохранились и при следующем выборе из выпадающих списков таблица дополнялась?
И там же ответ:
Цитата
Так без макросов не получится
 
Вы меняете значение в A4 и значение в TOATAL не меняется?
 
vikttur,думаю да. Кол-во параметров A1-A9 фиксировано. Им задаются значения. Эти значения присваиваются в TOTAL, Если повторно выбрать значение, которое редактировалось раньше, то они возьмутся уже из TOTAL. Грубо говоря, TOTAL будет приоритетной.

Т.е. B6:B14 = N3:V3, когда A4=M3

Простите, если тяжело изъясняюсь
 
Цитата
МатросНаЗебре написал:
не меняется
Меняются, но суть с пробелом.
Порядок такой:
  1. Выбираем Check1
  2. Выбираем Check2.
  3. Присваиваем значения в столбце Value каждому пункту A1-A9 из столбца Param.
  4. Эти значения появляются в соответствующей строке таблицы Total.
Если выбираем другое значение в Check1-2, то ячейки A1-A9 из столбца Param становятся пустыми, если ранее не были записаны и не попали в Total.
 
Я так понял, пункты 1-4 работают. И что-то не работает, когда "выбираете другое значение в Check1-2". Попробую угадать. А так?
Код
=ЕСЛИ($A$4=$M3;ЕСЛИ(ВПР(N$2;$A$6:$B$14;2;0)="";"";ВПР(N$2;$A$6:$B$14;2;0));"")
 
Именно. Выбираю другой пункт из Check, а столбец B6:B14 не очищается. В Тотал эти значения перепрыгивают на то, что бывал в Check =(((

Пробую проще объяснить. Надо заполнить Тотал силами первой таблицы.
 
Можно создать вспомогательный столбец и на него сослаться формулами. Или макросом на события очищать этот диапазон.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2")) Is Nothing _
    Or Not Intersect(Target, Range("A4")) Is Nothing Then
        Range("B6:B14").ClearContents
    End If
End Sub
 
Цитата
МатросНаЗебре написал:
макросом
а можно в файле увидеть, как это будет работать?
 
Вставьте код в модуль листа. Измените значение в ячейке A2.
 
Предложите название, отражающие задачу. Выпадающие списки здесь, похоже, совсем ни при чем, (они только задают параметры)
Заменят название модераторы
 
Цитата
МатросНаЗебре написал: Вставьте код
Значения не сохраняются в Тотал. А так суть именно такая.
Скрытый текст
 
Этот макрос перенесёт данные из Value в TOTAL.
Код
Sub CopyToTotal()
    Dim y As Long
    On Error Resume Next
        y = WorksheetFunction.Match([A4].Value, Range("M3:M20"), 0)
    On Error GoTo 0
    If y > 0 Then
        Dim arr As Variant
        arr = Range("B6:B14")
        [N3].Cells(y, 1).Resize(1, UBound(arr, 1)) = Application.Transpose(arr)
    End If
End Sub

Его можно повесить на изменение ячеек A2 и A4.
 
Цитата
МатросНаЗебре написал: можно повесить
как это сделать? Только макрос тут выручит, да?

А если применить такую логику:
в B6:B14 отображается содержимое строчки по условия A4. Изменяя это содержимое оно присваивается сразу в Тотал.
Если выбрать другое значение А4, то оно возьмёт строчку из Тотал. Вернуться в старому значению А4 будут те данные, которые в Тотал.

Цитата
МатросНаЗебре написал:  из Value в TOTAL
ТОТАЛ является источником и сводом одновременно. Наоборот, думаю скрипт надо сделать, чтобы А брал значения с Тотал, а если там 0, то можно было присвоить ему значение, которое бы и сохранилось в Тотал.  
 
Илья Анисимов, если мысль опоздала, можно вернуться и дополнить сообщение.

Сообщение №17 видели? Сейчас название не отражает задачу
 
Цитата
vikttur написал:
видели
Да. "Наполнение таблицы по условиям из списков". Может так?
Понял про "дополнить мысль".
 
Так будет правильней
Спасибо
 
Цитата
R Dmitry написал:
Так будет правильней
Это волшебство!!! Прекрасная реализация сводной. СПАСИБО!!!
Сводная и Оценка работают прям как задумывалось! А вот ДАТА для чего? Она как прослойка между "оценка" и "сводная"?
 
Илья,  туда пишем данные, и это источник данных для сводной.
Спасибо
 
А данные в на листе "оценка" берутся из листа "данные", При заполнении оценок всё переносится в "DATA" и следовательно в сводную. Правильно понимаю?
 
Не совсем понял.
Логика простая:
Все значения записываются на лист data. При выборе отдела и должности, если данные уже были внесены они заполняются из листа data
При нажатии на кнопку данные либо добавляются либо обновляются.
Выпадающие списки реализованы Вами.
Спасибо
Страницы: 1
Наверх