Condicionalmente move os valores separados por tabulação

3

Eu inseri um arquivo de texto separado por tabulações

25/08/2013  B   TRUE
25/08/2013  L   FALSE
25/08/2013  D   TRUE
26/08/2013  L   FALSE
26/08/2013  D   TRUE
27/08/2013  B   TRUE
27/08/2013  L   TRUE
27/08/2013  D   TRUE
28/08/2013  B   FALSE
28/08/2013  D   FALSE
29/08/2013  B   FALSE

A primeira coluna é a data. O segundo é o café da manhã, almoço ou jantar. Como você pode ver, faltam alguns dados: café da manhã no dia 26 e almoço no dia 28.

Agora, gostaria de trazer esses dados para uma planilha do Excel como esta:

Quando os dados ausentes geram um campo vazio e o restante é transferido.

Espero que isso seja possível e fácil. Obrigado!

    
por tmksitt 31.08.2013 / 22:39

3 respostas

3

Depois de importar seus dados delimitados por tabulação para o Excel, você pode criar sua tabela usando fórmulas.

  1. Crie os cabeçalhos da sua tabela. Em seguida, na primeira célula em Data ( E3 no meu exemplo), insira a fórmula
    =MIN($A$3:$A$15)
    onde A3:A15 é a coluna de datas nos dados originais.
  2. Na célula abaixo disso ( E4 no meu exemplo), insira a fórmula
    =E3+1
    e preencha o quanto quiser.
  3. Na primeira célula da coluna Breakfast, insira a fórmula
    =IFERROR(CHOOSE(SUMPRODUCT(1*($E3=$A$3:$A$15),1*($B$3:$B$15=LEFT(F$2,1)),($C$3:$C$15)*2+1*NOT($C$3:$C$15)),FALSE,TRUE),"")
    onde o cabeçalho da coluna está em F2 , a coluna BLD dos dados originais está em B3:B15 e a coluna TF dos dados originais está em C3:C15 .
  4. Preencha esta fórmula na coluna. Em seguida, preencha a fórmula à direita em todas as colunas. Observe que o LEFT(F$2,1) bit apenas obtém a primeira letra do cabeçalho da coluna para verificar os valores de BLD. Se os dados reais não seguirem esse padrão, você poderá substituir essa parte da fórmula pelo valor que deseja corresponder entre aspas (por exemplo, "B" ).

    
por 02.09.2013 / 00:00
2

Suponho que você importou seus dados de entrada para as colunas de R a T:

Como Excellll , converti as datas para o formato m / d / yyyy para que funcionassem no meu sistema. Agora, para colocar os resultados desejados nas Colunas A a D:

  1. Crie uma coluna auxiliar Q inserindo =R2&S2 na célula Q2 (ou inserindo =R1&S1 na célula Q1 , se você não tiver uma linha de cabeçalho) e arrastando / preenchendo:

  2. PreenchaacolunaAcomasdatasdesejadas.Existemmuitasmaneirasdefazerisso:

    1. Paraobtercoberturacompletaparaumintervalo,

      • DefinaacélulaA2a=MIN(R2:R12)(ou=MIN(R1:R12),sevocênãotiverumalinhadecabeçalhonaColunaR)ousimplesmenteinsiraadatadeiníciodesejadae,emseguida,
      • DefinaacélulaA3para=A2+1earraste/preenchaacélulaA3parabaixo.Ouapenasarraste/preenchaacélulaA2parabaixo.Ouarraste/preenchaacélulaA2abaixocomobotãodireitodomouseeescolhaentre“FillDays”e“FillWeekdays”.


      OR

    2. Useasdataspresentesnosseusdadosenenhumaoutra.

      • VerifiqueseacolunaRtemumcabeçalhoe,emseguida,
      • Selecioneacoluna(ocabeçalhoetodososdados)e,emseguida,
      • Váparaoseparador"Dados", "Ordenar & Filtro "e clique em" Avançado "e, em seguida,
      • Selecione "Copiar para outro local", digite A:A para "Copiar para", selecione "Somente registros exclusivos" (e clique em "OK").

  3. Insira =IFERROR(VLOOKUP($A2&LEFT(B$1,1), $Q$1:$T$12, 4, FALSE), "") na célula B2 , e arraste para baixo e para a direita, como na resposta de Excellll. Seu comentário sobre LEFT(F$2,1) se aplica igualmente ao meu LEFT(B$1,1) .

[Como você descobriu, algumas localizações do Excel exigem que os argumentos da função sejam separados por ponto e vírgula.]

Se você quiser tornar essa transformação permanente e excluir seus dados originais, basta copiar e colar os valores.

Eu afirmo que esta resposta é mais simples do que as outras que foram apresentadas. Além disso, o meu é mais flexível, como (eu acredito) o outro falhar Se quaisquer dados diferentes de TRUE ou FALSE forem inseridos na sua coluna mais à direita, enquanto o meu pode lidar com coisas como eggs , sandwich e salad , preços pagos, hora do dia, localização ou o que for.

    
por 03.09.2013 / 20:35
1

Você pode fazer isso rapidamente com uma coluna auxiliar, uma tabela dinâmica e um formato personalizado na tabela dinâmica. Veja abaixo.

Importe seus dados para o Excel e use o menu "texto para colunas" para dividi-los, conforme mostrado nas colunas A: C.

A coluna auxiliar D atribui um 1 para TRUE e 0 para FALSE para os valores na coluna C.

Construa a tabela dinâmica conforme mostrado usando a coluna auxiliar na seção VALUES. Você inicialmente terá os 1's e 0s aparecendo na seção VALUES.

Em seguida, em "Value Field Settings" você pode converter os 1's e 0's de volta para TRUE e FALSE com o formato numérico Custom "True"; "Verdade"; "Falso".

    
por 03.09.2013 / 16:10