Eu tenho uma planilha que define uma coleção / recipiente de prateleiras e, em seguida, uma variedade de objetos que podem ser colocados nas prateleiras
Portanto, existem 4 coleções de prateleiras definidas em uma tabela, cada uma com Prateleira 1, Prateleira 2, Prateleira 3 com comprimento definido. Mas para cada coleção, o comprimento das prateleiras pode variar. Assim, a coleção A tem uma Prateleira 1 = 12 ", Prateleira 2 = 12", Prateleira 3 = 0 ". A Coleção C pode ser Prateleira 1 = 20", Prateleira 2 = 20 ", Prateleira 3 = 20".
Para os objetos, eles são definidos em uma tabela com um determinado requisito de espaço. Esse requisito de espaço pode estar vinculado a uma prateleira específica ou pode ser permitido para "qualquer". Portanto, o objeto X requer 3 "na prateleira 1, mais 6" em qualquer prateleira. O objeto Y requer 10 "na prateleira 1 e 6" na prateleira 2 ou na prateleira 3.
Há um menu suspenso em que o usuário seleciona o container que deseja usar. Há uma tabela separada que lista todos os objetos disponíveis e permite que o usuário insira uma quantidade para cada um. O que estou tentando fazer é adicionar uma célula de validação onde ela informa ao usuário se os objetos selecionados caberão no container selecionado.
Atualmente, tenho uma fórmula que faz isso de maneira básica, preenchendo uma tabela a partir de somas de pesquisa e, em seguida, fazendo aritmética básica em um campo separado
Tabela de validação com dados de pesquisa:
Fórmulasdepesquisadatabeladevalidação-observe"qualquer prateleira" inclui as sobras dos campos de prateleira específicos:
Eu só pude incluir (2) link pics, mas há uma célula que retorna true se L27, M27 e N27 forem todos > 0.
O problema com essa abordagem é que ela pressupõe que os objetos possam ser "divididos" entre várias prateleiras.
Eu estou esperando por alguma ajuda vindo com uma abordagem de fórmula que irá realizar essa validação sem permitir "remanescentes". Esse é um tipo de problema de "empacotamento" e não sei como abordar isso no Excel. Eu realmente quero tentar fazer isso com uma fórmula e não com o VBA, porque quero máxima compatibilidade e usabilidade.