Pergunta

Eu tenho uma folha de Excel
text alt

O requisito é a soma dos dígitos nas células em coluna 'C' e colocar o valor da célula correspondente da coluna 'B' (em meu exemplo 0,25 + 1 + 0,25 + 1 = 2,5).

Os valores na coluna 'C' poderia mudar. A exigência é para atualizar o valor em 'B', logo que a célula na coluna mudanças 'C'.

Eu fiz pedir ao criador para a mudança de texto e números em duas colunas diferentes, mas que não é aceitável por causa do modelo padrão.

Foi útil?

Solução

Isto pode ser conseguido, sem alterar o texto na célula, usando uma macro. Eu tenho que admitir, a implementação será um pouco retardado, já que você precisa fazer algumas coisas.

1 -. Tokeniza todo o conteúdo da célula, e armazenar os tokens em uma matriz de cadeia

Há um problema já. O texto localizado dentro da célula é totalmente inconsistente. Você tem -250 ms, - 250 ms, - 1seg, - 1 seg. Devido a isso, você vai precisar para verificar se cada instância. Portanto, você não pode apenas verificar se o valor for um número, você precisa verificar todas as permutações que os membros da equipe têm convenientemente fornecidos para você.

A melhor maneira de fazer isso seria a de verificar contra expressões regulares. Portanto, nº 2 deve ser:

2 - Verifique cada valor para ver se ele corresponde a uma das muitas 4 Expressões Regulares

.

3 -. Dependendo do Regex ele corresponde com, extrair o valor numérico

a) Se simplesmente um valor (ie-> 250), verificar se ms ou sec prossegue o valor. Se o MS, divida o número por 1000. Se o número de segundos, deixe como está. Adicionar número para total.
b) Se um número precedido por um traço (-), traço de remoção, e repita o passo a)
c) Se um número seguido por letras, letras remover e repita o passo a)
d) Se um número seguido por um período, não fazer nada. Este é um ponto de bala.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top