Não consigo descobrir a equação no excel

0

Por favor, ajude, eu não consigo descobrir a equação para resolver um problema do mundo real.

Aqui está o caso: cada funcionário pode pegar o cliente se ele / ela vier armazenar primeiro (primeiro a chegar primeiro). Se ele ganhar mais do que os outros empregados, gire para o próximo empregado que vier depois. Se ele fizer <12 dólares, continue a pegar o próximo cliente.

Imagem do Excel

Come to store:   -----1st  -----    2nd  ----  3rd   ------     4th    -----    5th   ----     6th   ---   7th 

Employee name: Apple  --  Bear  --  Conny  --    Donny  --    Elvis   --   Fell     -- Gith

Total $: ---------------33   -----    28   -------     20   -------      23  -------      22   ----     15  ----      2

Who turns next?   
It should be: -------- 2nd   ---    3rd  ------    4th    ------     5th  ------    6th ----      7th    -   1st                                               

Como você pode ver, é Gith virar para pegar o próximo cliente, Gith só fez 2 dólares, a diferença é> = 12 dólares entre Gith e outros funcionários. É a vez da Apple depois de Gith, embora a Apple tenha feito mais do que Cai> = 12 dólares, mas porque outros funcionários, entre eles, como Conny Donny Elvis, não fazem> = 12 dólares a mais do que Fell, então é a vez da Apple.

Como posso chegar a uma equação que poderia resolver esta situação?

Nghi Hoang
fonte
2
De acordo com "Se ele fizer <12 reais, continue comprando o próximo cliente". .. Gith só fez 2 dólares .. então o próximo cliente deve ser atendido por Gith .. não a Apple.
p._phidot_
Isso é verdade, como eu mencionei que a Apple toma o segundo turno após Gith
Nghi Hoang
Se na próxima venda, a Gith só fizer 10 dólares ... será suficiente passar para a Apple?
p._phidot_

Respostas:

1

Aqui está uma resposta. Preencha C4, D4, E4, F4, G4, H4, I4 com o seguinte para saber se você deve pulá-los: (C3 no início deve ser a célula logo acima, ou seja, D4, E4 etc ..)

=IF(C3>(LARGE($C3:$I3,2)+12),"skip","")

Em seguida, preencha C5 com o seguinte para saber se alguém está pulando fora de ordem:

=IF(SMALL(C3:I3,1)<(SMALL(C3:I3,2)-12),INDIRECT(ADDRESS(2,2+(MATCH(SMALL(C3:I3,1),C3:I3,0)))),"Next non-skip")

O que não sabemos: Quem serviu a alguém por último?

Editar: nome do retorno da pessoa pulando fora de ordem em vez de valor em dólar.

Brian
fonte
Obrigado por ajudar, mas se eu mudar a quantidade em caiu para 3 dólares. Deveria ser Caiu primeiro então Gith segundo? Eu só recebo "Next non-skip" como resultado, em vez de Fell. Meu objetivo é exibir todos os nomes de funcionários do primeiro ao último
Nghi Hoang
Minha fórmula está trabalhando se eles fizeram menos de 12 dólares do que qualquer outra pessoa . Ao mudar Caiu para 3, isso não é mais válido. Eu diria que Gith então caiu. Mas, para uma fórmula lógica, precisaríamos determinar se a condição está "fazendo 12 dólares menos do que qualquer outra pessoa" ou fazendo 12 dólares a menos do que todo mundo "ou um número de pessoas no meio. Fell @ 15 já é 12 a menos que a Apple e Bear
Brian
= IF (PEQUENO ($ C3: $ I3,1) <(PEQUENO ($ C3: $ I3,2) -11), INDIRETO (ENDEREÇO ​​(2,2+ (CORRESPONDÊNCIA (PEQUENO) ($ C3: $ I3,1) , $ C3: $ I3,0)))), "Next non-skip")
Nghi Hoang
Parece que minha resposta acima tinha um duplo igual a "==" no começo. Com um sinal de igual, parece trabalhar do meu lado.
Brian
= IF (SMALL ($ C3: $ I3,1) <(PEQUENO ($ C3: $ I3,2) -11), INDIRETO (ENDEREÇO ​​(2,2+ (MATCH (PEQUENO) ($ C3: $ I3,1) , $ C3: $ I3,0)))), "Next non-skip"), Você está certo, eu mudo 12 para 11 para atender à minha necessidade, e mais = IF (SMALL ($ C3: $ I3,2) <(PEQUENO ($ C3: $ I3,3) -11), INDIRETO (ENDEREÇO ​​(2,2+ (CORRESPONDÊNCIA (PEQUENO ($ C3: $ I3,2), $ C3: $ I3,0)))), "Next non-skip") para a próxima célula inorder para exibir Fell. Se todo o nome não pode ser exibido, existe uma maneira de exibir o número como eu mencionei acima? Ex. 1, 2 3, 4 em relação a quem pega o cliente primeiro, segundo, terceiro? Eu sou capaz de ligar o número ao nome. Se isso é mais fácil de mostrar
Nghi Hoang
0

Seguindo sua tabela compartilhada ..

Preencha os rótulos:

B6  ---->  currentNo :
B7  ---->  nextNo :
B9  ---->  Next Name :

Então estas fórmulas:

C6  ---->  =MATCH(C2,{"Apple","Bear","Conny","Donny","Elvis","Fell","Gith"},0)
C7  ---->  =IF(C3>=12,IF((C6+1)=8,1,C6+1),C6)
C9  ---->  =INDEX({"Apple","Bear","Conny","Donny","Elvis","Fell","Gith"},C7)
D2  ---->  =C9

Então arraste todas as alas da direita.

Feito. Espero que ajude. (:

p._phidot_
fonte