É possível no Excel usar um número em uma célula para fazer tantas cópias de dados de outra célula em uma terceira célula?

3

Estou tentando criar um banco de dados / sitemap de classificações e preciso poder usar os dados que já conheço e usá-los para fazer várias cópias de uma célula, acrescentar algo ao que está nessa célula com base em um número em uma célula. célula diferente. Abaixo está um exemplo de dados que eu tenho

26      example.com/search?find_loc=St.+John's+Newfoundland

O que preciso fazer é pegar o URL e, com base no fato de que temos 26 páginas, criar os 26 URLs de página anexando a cada um, exceto ao primeiro URL, o número da página, como visto no exemplo abaixo, em um terceiro linha.

Produzindo isso:

example.com/search?find_loc=St.+John's+Newfoundland
example.com/search?find_loc=St.+John's+Newfoundland&start=10
example.com/search?find_loc=St.+John's+Newfoundland&start=20
example.com/search?find_loc=St.+John's+Newfoundland&start=30
example.com/search?find_loc=St.+John's+Newfoundland&start=40
example.com/search?find_loc=St.+John's+Newfoundland&start=50
example.com/search?find_loc=St.+John's+Newfoundland&start=60
example.com/search?find_loc=St.+John's+Newfoundland&start=70
example.com/search?find_loc=St.+John's+Newfoundland&start=80
example.com/search?find_loc=St.+John's+Newfoundland&start=90
example.com/search?find_loc=St.+John's+Newfoundland&start=100
example.com/search?find_loc=St.+John's+Newfoundland&start=110
example.com/search?find_loc=St.+John's+Newfoundland&start=120
example.com/search?find_loc=St.+John's+Newfoundland&start=130
example.com/search?find_loc=St.+John's+Newfoundland&start=140
example.com/search?find_loc=St.+John's+Newfoundland&start=150
example.com/search?find_loc=St.+John's+Newfoundland&start=160
example.com/search?find_loc=St.+John's+Newfoundland&start=170
example.com/search?find_loc=St.+John's+Newfoundland&start=180
example.com/search?find_loc=St.+John's+Newfoundland&start=190
example.com/search?find_loc=St.+John's+Newfoundland&start=200
example.com/search?find_loc=St.+John's+Newfoundland&start=210
example.com/search?find_loc=St.+John's+Newfoundland&start=220
example.com/search?find_loc=St.+John's+Newfoundland&start=230
example.com/search?find_loc=St.+John's+Newfoundland&start=240
example.com/search?find_loc=St.+John's+Newfoundland&start=250
    
por Lope 07.03.2017 / 21:38

4 respostas

0

Eu provavelmente concatenaria no número usando o & . Considere isto: A1 = o começo do url (example.com/search?find_loc=St.+John's+Newfoundland&start=) B1 = fim do url (example.com/search?) Começando em A2, liste todos os números que você precisa (10, 20, 30, etc. arraste o pequeno identificador de fórmula para copiá-los bad boys). Com essa configuração, você pode usar a seguinte fórmula em B2 e arrastar a alça de preenchimento para copiá-la completamente.

=$A$1 & A2 & $B$1

Se você precisar de um hiperlink clicável, coloque a fórmula B2 em HYPERLINK antes de copiar.

=HYPERLINK($A$1 & A2 & $B$1)

    
por 07.03.2017 / 22:07
0

Blocos de código ajudam um pouco na legibilidade.

example.com/search?find_loc=St.+John's+Newfoundland 
example.com/search?find_loc=St.+John's+Newfoundland&start=10

...

example.com/search?find_loc=St.+John's+Newfoundland&start=240 
example.com/search?find_loc=St.+John's+Newfoundland&start=250

Eu usaria a função = CONCATENATE ().

Na célula A1, ou qualquer célula que você esteja usando, coloque:

example.com/search?find_loc=St.+John's+Newfoundland 

Na célula B1:

&start=

E na coluna C, preencha a coluna com o intervalo 10..250. Em seguida, concatene as linhas na coluna D:

=CONCATENATE($A$1, $B$1, $C1)

Copie essa fórmula na coluna e você poderá exibir seus dados com bastante facilidade.

    
por 07.03.2017 / 22:09
0

Aqui está uma implementação da abordagem no meu comentário à sua pergunta. A célula A2 contém o prefixo básico que é comum a todos os URLs que você deseja gerar. Células B2, B3, B4, ... são os locais que você deseja gerar. C2, C3, C4, ... são o número de sequências a gerar para cada localização.

Cada local será gerado em sua própria coluna. A fórmula em E1 é:

=IF(ROW()=1,$A$2&$B$2,IF(ROW()<=$C$2,$A$2&$B$2&"&start="&(ROW()-1)*10,""))

E2:

=IF(ROW()=1,$A$2&$B$3,IF(ROW()<=$C$3,$A$2&$B$3&"&start="&(ROW()-1)*10,""))

E3:

=IF(ROW()=1,$A$2&$B$4,IF(ROW()<=$C$4,$A$2&$B$4&"&start="&(ROW()-1)*10,""))

As células "B" e "C" estão diminuindo uma por vez. Continue o padrão conforme você se move para a direita e, em seguida, preencha as fórmulas.

Se você tiver centenas de locais e não quiser editar cada fórmula, informe-nos. A coisa toda pode ser feita com uma única fórmula, mas isso exigirá o uso de INDIRECT (), do qual eu tento ficar longe. É uma das funções voláteis, portanto, deve ser usada de maneira criteriosa.

    
por 08.03.2017 / 20:36
0

Suponho que você tenha suas contagens na coluna A e seus URLs de base na coluna B , e você quer seus URLs construídos na coluna D , todos começando na linha 1. Isso é bastante fácil com "colunas auxiliares". Usarei as colunas G e H ; você pode usar duas colunas que quiser (por exemplo, Y e Z ), e você pode ocultá-los assim que conseguir esse trabalho.

Digite o seguinte:

  • G11
  • H10
  • G2=IF(G1<0, -1, IF(H1+1<INDEX(A:A, G1), G1, IF(INDEX(A:A, G1+1)="", -1, G1+1)))
  • H2=IF(G2<0, -1, IF(H1+1<INDEX(A:A, G1), H1+1, 0))
  • D1=IF(G1<0, "", INDEX(B:B, G1) & IF(H1>0, "&start=" & H1*10, ""))

Selecione as células G2 e H2 e arraste / preencha. Selecione a célula D1 e arraste / preencha.

Isso tratará um 0 na coluna A como se fosse um 1.

    
por 08.03.2017 / 07:46