EDIT No. 2
* Ok, minhas articulações anteriores do meu problema foram, como salientado, bastante lixo. Essa edição reformula a pergunta de maneira mais direta, resume o contexto e fornece dados de amostra.
DADOS DE AMOSTRA
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
Note que, para replicar o meu problema, a ferramenta de validação de lista deve ser usada para criar uma lista suspensa para cada célula na Col 2, onde os itens da lista são A, B, C, D. Note, Somente Col 1 e Col 2 (+ listas suspensas) fazem parte do problema.
O RESET? A célula faz parte da solução potencial / como eu gostaria idealmente que a solução aparecesse.
A coluna de valores exclusivos é simplesmente por conveniência ao criar as listas suspensas. (Veja a fórmula na seção de tentativas).
DESCRIÇÃO
Eu tenho duas colunas, Col 1 & Coluna 2. Como pode ser visto na amostra acima, ambos são inicialmente idênticos. No entanto, cada célula em Col 2 tem uma lista suspensa, que é uma lista dos valores exclusivos em Col 1.
Até agora tão fácil. O problema é que na realidade minhas colunas são muito mais longas do que a minha amostra, então depois de brincar com Col 2, eu posso querer restaurar / redefini-la de volta aos seus valores iniciais (isto é, retorná-la aos seus valores iniciais, igual a Col 1) .
PERGUNTA
Eu preciso de um botão que "redefina" uma coluna contendo listas suspensas para que seus valores correspondam aos de outra coluna.
CONTEXTO
Na minha aplicação Col 1 é para referência, enquanto Col 2 é uma coluna de contador de fatos onde um usuário pode alterar um valor para qualquer um dos quatro valores possíveis (novamente, A, B, C ou D neste exemplo), para veja o efeito que isso tem em outras colunas.
Depois de brincar com Col 2, o usuário desejará redefinir Col 2 com seus valores padrão, que são aqueles contidos em Col 1. Em outras palavras, o valor padrão de Col 2 é condicional em Col 1.
DIFICULDADES & TENTATIVAS
A principal dificuldade parece ser a tentativa de aplicar tanto uma fórmula como uma lista suspensa a uma célula.
Eu tentei usar uma fórmula IF
na célula, mas isso exclui a lista suspensa
Eu também tentei usar a fórmula a seguir na source
da caixa de configuração de validação da lista
Fórmula na célula B2 *:
=IF(C2="yes",A2,D2:D5)
* onde as colunas têm uma correspondência intuitiva com os dados da amostra acima; isto é, Col 1 é o mesmo que a coluna A; A coluna D é VALORES ÚNICOS).
Mas isso apenas restringe a opção disponível na lista. Se eu pudesse obter esse valor para preencher a célula sem ser clicado manualmente, essa seria uma solução perfeita. (Na minha primeira edição, abaixo, usei a função INDEX para tentar conseguir isso, mas não funcionou.)
Eu não tentei nenhuma abordagem de VBA porque não estou familiarizado com o idioma, mas estou disposto a tentar, se isso parecer frutífero.
NOTAS e amp; ERRATA
Por favor, perdoe se eu abusei da terminologia em termos de lista suspensa vs validação de lista. Espero que sejam intercambiáveis.
PERGUNTA ORIGINAL
Eu tenho duas colunas, X_1 e amp; X_2. Imagine que X_1 tem valores que observo na realidade - contendo, digamos, quatro valores únicos, sobre N observações. X_2 é uma variável contra-factual, o que significa que eu permito que o usuário mude X_2 para qualquer um dos quatro valores de X_1, através de uma lista suspensa. Isto tem consequências a jusante em termos de uma função que eu uso para prever algum Y.
O problema é que N é um número muito grande, então levaria muito tempo para resetar X_2 manualmente.
O que eu estou procurando, então, é um botão que pode redefinir a lista em X_2 de acordo com o valor correspondo em X_1.
EDITAR:
Como mostra a captura de tela, quando a célula de reinicialização (ou seja, D2) == "sim", a fórmula abaixo restringe a lista suspensa a apenas um valor; o que corresponde a X_1; caso contrário, ele terá todos os quatro valores exclusivos de X_1, que estão contidos em uma lista em G2: G5.
Isso é quase o que eu quero, mas o problema é que o usuário ainda tem que selecionar o valor restrito. Atualmente, estou procurando uma maneira de preencher a célula com o primeiro valor do lis (daí a função INDEX), mas até agora não obtive êxito.
Fórmula:
=IF($D$2="yes";INDEX($A$2;1);$G$2:$G$5)
A lista na célula selecionada contém apenas "A" porque o RESET é definido como "yes"; caso contrário, a lista conteria A, B, C, D. O problema é que "A" não é preenchido automaticamente.