Insira o no.s de duas colunas e os números entre a terceira coluna

2

Atualmente, estou tendo uma estrutura de tabela, conforme abaixo:

Eutenteiselecionarduascolunascomasérieearrastá-laparaopreenchimentoautomático,masnãofuncionou.Euprecisodealgocomoabaixo.ExistealgumamaneiradefazerissocomoExcel,oPlanilhasGoogleoualgoassim?

    
por esafwan 22.06.2017 / 17:10

2 respostas

2

Se você tiver uma versão recente do Excel, em E2 , insira a matriz de matriz :

=TEXTJOIN(",",TRUE,ROW(INDIRECT(C2 & ":" & D2)))

e copie:

FórmulasdematrizdevemserdigitadascomCtrl+Deslocar+EnteremvezdeapenasoEnterTecla.

Casocontrário,insiraaseguintefunçãodefinidapelousuárioemummódulopadrão:

PublicFunctionCSList(n1AsLong,n2AsLong)AsStringDimiAsLongFori=n1Ton2CSList=CSList&"," & i
    Next i
    CSList = Mid(CSList, 2)
End Function

Então, em E2 , digite:

=CSList(C2,D2)

e copie:

FunçõesDefinidaspeloUsuário(UDFs)sãomuitofáceisdeinstalareusar:

  1. ALT-F11exibeajaneladoVBE
  2. ALT-IALT-Mabreumnovomódulo
  3. coleomaterialefecheajaneladoVBE

Sevocêsalvarapastadetrabalho,aUDFserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx

PararemoveroUDF:

  1. abrirajaneladoVBEcomoacima
  2. limpeocódigo
  3. fecheajaneladoVBE

ParausaroUDFdoExcel:

=CSList(A1,B1)

Parasabermaissobremacrosemgeral,consulte:

link

e

link

e para detalhes sobre UDFs, consulte:

link

As macros devem estar ativadas para que isso funcione!

    
por 22.06.2017 / 17:34
0

Embora a solução acima tenha funcionado para mim usando o Ms Excel, mais tarde consegui resolver isso no Planilhas Google. Eu estou adicionando esta resposta aqui para aqueles que não podem ter acesso ao Ms Excel.

Etapas:

  1. Acesse o menu "Ferramentas" e clique em "Editor de scripts ..."
  2. No arquivo de código aberto, cole o código abaixo e salve.

    function range2series(input) {
    
      try {
    
         var r = input.split("-");
         var exist = r[1];
    
         //get the start and stop value
         var start = r[0];
         var last  = r[1];
         var current = start;
         var output = "";
    
         while (current <= last) {
           output += current;     
           output += ",";
           current++;                     
         }  
    
         //remove the last comma.
          output = output.substring(0, output.length - 1);
          return output;
    
        } catch(err) {
           //if single value and not range send back the input.
           return input; 
        }  
    
    
    
    }
    

Agora você pode usar a função com as planilhas do Google. Basta clicar em uma coluna e digitar =range2series(CELL) , por exemplo range2series(D4) .

Para mais detalhes, consulte .

    
por 08.07.2017 / 17:51