Auto numeração baseada em células repetidas

0

Preciso de ajuda para numerar automaticamente uma planilha com submissões de inventores, mas algumas submissões têm várias pessoas listadas, mas precisam ser numeradas da mesma forma.

por exemplo:

No.     Count     Name
0011    1         Joe
0012    0.5       Sam
0012    0.5       Alex
0013    1         Ryan

O Count é determinado por quantas pessoas o envio é dividido. O Number representa o envio, então # 0012 é de Sam e Alex, então eles precisam ser numerados da mesma forma. Espero que haja uma maneira fácil de numerar a planilha em vez de ir e numerar cada uma individualmente. Eu preciso de uma fórmula que irá numerar automaticamente os registros Count e Name , dependendo se o Count for repetido.

    
por Excellll 19.09.2014 / 18:12

2 respostas

3

Você precisará definir seu primeiro número manualmente com a fórmula abaixo.

=TEXT(11,"0000")

Na próxima célula abaixo, insira esta fórmula e preencha a coluna:

=IF(AND(B3=B2,COUNTIF(A$2:A2,A2)<1/B3),TEXT(A2,"0000"),TEXT(A2+1,"0000"))

Isso funciona com a ideia de que a única vez em que você não deseja aumentar o número é quando a contagem é igual ao registro anterior e o número acima não está listado no número de vezes apropriado. (O número apropriado de vezes é igual a 1/Count .) Essa segunda condição é necessária devido a casos como as linhas 10 a 13 no exemplo, em que grupos do mesmo tamanho seguem um ao outro na tabela.

    
por 19.09.2014 / 20:01
0

Como você sabe que Sam e Alex estão associados à mesma submissão e não a cada co-submissor de projetos diferentes? Você precisa de alguma base para o agrupamento. A maneira confiável de fazer isso seria adicionar uma coluna exclusiva para o envio, como o título de envio, para servir como um identificador exclusivo. Você classifica a lista sobre isso. Em seguida, incrementar a numeração se o ID exclusivo for diferente da linha anterior.

Por exemplo, suponha que col A é a ID exclusiva, B é seu No., C é a contagem e D é Name, e o que você está mostrando como a primeira linha de dados (0011) é a linha 2. Um general fórmula que você poderia copiar para todas as células em B (baseado em B2), seria:

=if(row()=2,1,if(a2=a1,b1,b1+1))

Você pode obter a fantasia com formatação se quiser forçar os zeros iniciais.

Não é uma boa prática, mas se você está manualmente garantindo que a lista é sequencial e isso é tudo que você tem que trabalhar, você poderia fazer algo como isto: Assumindo que Col A é o seu No., B é Count, C é nome. Adicione uma nova coluna D (que pode estar oculta). Novamente, a linha 2 é a primeira linha de dados. Uma fórmula geral para todas as células em D (baseada em D2) seria:

=if(b2=1,1,if(b1=1,b2,if(row()=2,b2,d1+b2))) 

Isso identifica quando cada grupo de envio termina, caso você tenha vários envios múltiplos sequenciais.

A fórmula geral para o seu nº (com base em A2) seria:

=if(row()=2,1,if(d1=1,a1+1,a1))

Novamente, você pode formatar para forçar os zeros iniciais.

Editar: Reconheça que depender apenas da sequência na qual você inseriu os dados para fazer a numeração (meu segundo exemplo e a solução da Excellll) é arriscado se houver alguma chance de a seqüência de dados mudar, por exemplo, acidentalmente. ordenando os dados. A lógica de numeração desmoronaria e forneceria resultados incorretos. A incorporação de um ID exclusivo para cada envio fornece uma maneira infalível de recuperação (basta classificar o ID).

    
por 19.09.2014 / 20:46