EXCEL: FORMATAR um “jan” “fev” “mar” “apr” em um MÊS (01,02,03)

1

Por favor, alguém saiba:

Date----------------Result--------------------------------------What I want!
9.99 LATE AUG 13 ---IF(ISNUMBER(SEARCH("aug",B2&" "&C2)),"08"---08
9.99 Early Sept 13 ----"""--------------------------------------09

se eu usar para todos os 12mnths, o erro será: - a fórmula especificada não pode ser inserida porque usa mais níveis de aninhamento do que os permitidos

por exemplo: -

  (B2)------------------(C2)

HK-753F (6) FINAL DE 13 DE AGOSTO ------- MERC

HK-754F (6) ------------------------ SETEMBRO DE SETEMBRO 13

11.99 -------------------------------- SETEMBRO, 13

11.99 -------------------------------- SETEMBRO, 13

10.99 13 DE JUNHO --------------------- MERC

    
por John 02.09.2013 / 16:24

1 resposta

5

Tente esta fórmula

=MATCH(2^15,SEARCH({"jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"},B2&" "&C2))

ou uma versão ligeiramente mais curta mas menos transparente ...

=MATCH(2^15,SEARCH(TEXT(29*{1,2,3,4,5,6,7,8,9,10,11,12},"mmm"),B2&" "&C2))

Explicação

Quando você faz um SEARCH para um "array" de termos como {"jan", "feb", "mar", "apr", "may", "jun", "jul", "aug" , "sep", "oct", "nov", "dec"} então result também é um array, um valor de #VALUE! erro para cada termo que não existe em B2 & "" & C2 e um número (a posição) se o fizer, então se B2 & "" & C2 = HK-753F (6) DEVOLTADO AGOSTO 13 MERC então o resultado de

=SEARCH({"jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"},B2&" "&C2)

é o seguinte array:

{#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,17,#VALUE!,#VALUE!,#VALUE!,#VALUE!}

Observe que todas as entradas são erros, exceto para 17 na posição 8 (17 é a posição do "A" de "AUG" em B2 & "" & C2).

Quando MATCH function (sem terceiro argumento) procura um "bignum" como 2 ^ 15 nesse array, ele sempre combina com o último número, então o resultado é 8 (porque "aug" é o 8o na lista de meses)

    
por 02.09.2013 / 17:48