РЕДАКТИРОВАТЬ № 2
* Хорошо, мои предыдущие формулировки моей проблемы были, как указывалось выше, довольно мусором. Это редактирование перефразирует вопрос в более простой форме, обобщает контекст и предоставляет примеры данных.
ПРИМЕР ДАННЫХ
Col 1 Col 2 RESET? UNIQUE VALUES
A A yes A
C C B
D D C
A A D
B B
A A
D D
C C
Обратите внимание, что для того, чтобы повторить мою проблему, необходимо использовать инструмент проверки списка, чтобы создать раскрывающийся список для каждой ячейки в столбце 2, где элементами списка являются A, B, C, D. Примечание. Только столбец 1 и столбец 2 (+ выпадающие списки) являются частью проблемы.
СБРОС? клетка - это часть потенциального решения / как бы я хотел, чтобы решение выглядело идеально.
Столбец уникальных значений, просто для удобства при создании выпадающих списков. (См. Формулу в разделе попыток.)
ОПИСАНИЕ
У меня есть две колонки, Кол 1 и Кол 2. Как видно из приведенного выше примера, оба изначально идентичны. Однако каждая ячейка в столбце 2 имеет раскрывающийся список, представляющий собой список уникальных значений в столбце 1.
Пока все просто. Проблема в том, что мои столбцы на самом деле намного длиннее, чем мой образец, поэтому, поиграв с Col 2, я могу захотеть восстановить / сбросить его до его начальных значений (т.е. вернуть его к его начальным значениям, равным Col 1),
ВОПРОС
Мне нужна кнопка, которая "сбрасывает" столбец, содержащий раскрывающиеся списки, чтобы его значения совпадали со значениями в другом столбце.
КОНТЕКСТ
В моем приложении Col 1 для справки, в то время как Col 2 представляет собой контрфактуальный столбец, в котором пользователь может изменить значение на любое из четырех возможных значений (опять же, A, B, C или D в этом примере), чтобы увидеть, какой эффект это имеет на других столбцах.
После игры с Col 2, пользователь захочет сбросить Col 2 к значениям по умолчанию, которые содержатся в Col 1. Другими словами, значение Col 2 по умолчанию является условным для Col 1.
СЛОЖНОСТИ И ПОПЫТКИ
Кажется, основная трудность заключается в попытке применить формулу и выпадающий список к одной ячейке.
Я пытался использовать формулу IF
в ячейке, но это удаляет выпадающий список
Я также попытался использовать следующую формулу в поле настройки source
проверки списка
Формула на ячейке B2 *:
=IF(C2="yes",A2,D2:D5)
* где столбцы имеют интуитивное соответствие приведенным выше образцам данных; то есть Col 1 такой же, как столбец A; Колонка D - УНИКАЛЬНЫЕ ЦЕННОСТИ).
Но это просто ограничивает возможность, доступную в списке. Если бы я мог получить это значение для заполнения ячейки без ручного нажатия, то это было бы идеальным решением. (В моем первом редактировании ниже я использовал функцию INDEX, чтобы попытаться добиться этого, но это не сработало.)
Я не пробовал никаких подходов к VBA, так как я не знаком с языком, но я готов попробовать, если он окажется плодотворным.
ЗАМЕЧАНИЯ И ОШИБКИ
Пожалуйста, прости, если я злоупотребил терминологией с точки зрения выпадающих списков против проверки списка. Надеюсь, они взаимозаменяемы.
ОРИГИНАЛЬНЫЙ ВОПРОС
У меня есть две колонки, X_1 и X_2. Представьте, что у X_1 есть значения, которые я наблюдаю в реальности, - содержащие, скажем, четыре уникальных значения, а не N наблюдений. X_2 - это фактическая переменная, которая означает, что я могу позволить пользователю изменить X_2 на любое из четырех значений X_1 через выпадающий список. Это имеет последующие последствия с точки зрения функции, которую я использую для предсказания некоторого Y.
Проблема в том, что N - очень большое число, поэтому для ручного сброса X_2 потребуется слишком много времени.
Затем я ищу кнопку, которая может сбросить список в X_2 в соответствии с соответствующим значением в X_1.
РЕДАКТИРОВАТЬ:
Как показано на снимке экрана, когда ячейка сброса (т.е. D2) == "да", формула ниже ограничивает раскрывающийся список только одним значением; то, что соответствует X_1; в противном случае он имеет все четыре уникальных значения X_1, которые содержатся в списке в G2:G5.
Это почти то, что я хочу, но проблема в том, что пользователь все еще должен выбрать ограниченное значение. В настоящее время я ищу способ заполнить ячейку первым значением lis (отсюда и функцией INDEX), но пока мне это не удалось.
Формула:
=IF($D$2="yes";INDEX($A$2;1);$G$2:$G$5)
Список в выбранной ячейке содержит только "A", потому что RESET установлен на "да"; в противном случае список будет содержать A, B, C, D. Проблема в том, что "А" не заполняется автоматически.