Página 1 de 1

Valores com base em um conjuto de valores

Enviado: 26 Jun 2018 às 11:54
por Sen
Olá caros amigos.

Estou precisando de help de vcs.

Preciso de uma formula que o excel mostre um valor com base em um conjunto de valores e que o mesmo não repita valores já usado.

Grato se alguém ajudar

Valores com base em um conjuto de valores

Enviado: 26 Jun 2018 às 13:43
por DeyseHingst
Boa tarde Sen.
Não entendi qual sua necessidade. Poderia explicar melhor? E na planilha você pode demonstrar onde você gostaria de efetuar o calculo?

Valores com base em um conjuto de valores

Enviado: 26 Jun 2018 às 17:40
por Estevaoba
Tente desta forma:

C6=ALEATÓRIOENTRE(F4;J4)
C7=ÍNDICE($F$4:$J$4;;MENOR(SE($F$4:$J$4<>$C$6;COL($F$4:$J$4)-5);LIN(A1)))
Esta última, fórmula matricial, finalize com ctrl+shift+enter.
E copie até C10.

Good luck!

Re: Valores com base em um conjuto de valores

Enviado: 26 Jun 2018 às 19:27
por osvaldomp
Veja se ajuda esta solução via macro.
Funcionamento: aplica Validação de Dados no intervalo C6:C10, com lista formada pelos valores de F4:J4 ainda não inseridos naquele intervalo.

Instale o código abaixo no módulo da planilha "Planilha2", assim:
1. copie o código daqui
2. clique com o direito na guia daquela planilha e escolha 'Exibir código'
3. cole o código na janela em branco que vai se abrir
4. feito! 'Alt+Q' para retornar para a planilha e testar
Código: Selecionar todos
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Dim dv As String, n As Range
  If Target.Count > 1 Then Exit Sub
  If Not Intersect([C6:C10], Target) Is Nothing Then
   [C6:C10].Validation.Delete
  If Application.CountA([C6:C10]) = 5 And Target.Value <> 0 Then Exit Sub
   For Each n In Range("F4:J4")
    If Application.CountIf([C6:C10], n.Value) = 0 Then dv = dv & "," & n.Value
   Next n
   dv = Right(dv, Len(dv) - 1)
    With ActiveCell.Validation
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=dv
    End With
  End If
End Sub