Você pode fazer o que descreve / ilustra com
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, B$1, C$1), B$2, C$2), B$3, C$3), B$4, C$4), B$5, C$5)
Se você colocar o acima na célula D1
e arrastar / preencher,
o A1
será atualizado para A2
, A3
, etc.
mas os parâmetros de string substitutos ( B$1
, C$1
, B$2
, C$2
, etc.)
não mudará.
Eu acredito que é óbvio que
isso executa a substituição B1
→ C1
em A1
,
em seguida, executa a substituição B2
→ C2
no resultado da primeira substituição,
em seguida, executa a substituição B3
→ C3
no resultado da segunda substituição, e assim por diante.
Isso é estranho para cinco substituições, e rapidamente se torna pesado para mais. Se você quiser fazer muitas substituições (digamos, até 312), use colunas auxiliares:
-
Defina
AA1
para=SUBSTITUTE(A1, INDEX($B:$B, COLUMN()-COLUMN($Z1)), INDEX($C:$C, COLUMN()-COLUMN($Z1)))
Isso é equivalente a
=SUBSTITUTE(A1, B1, C1)
, mas obtém os valores deB1
eC1
dinamicamente tomando o número da coluna (AA
→ 27) e subtraindo 26 (o número da coluna da colunaZ
), e usando o resultado (1) como o número da linha nas colunasB
eC
. -
Arraste / encha
AA1
paraAB1
, por isso, torna-se=SUBSTITUTE(B1, INDEX($B:$B, COLUMN()-COLUMN($Z1)), INDEX($C:$C, COLUMN()-COLUMN($Z1)))
e altere
B1
paraAA1
, por isso, torna-se=SUBSTITUTE(AA1, INDEX($B:$B, COLUMN()-COLUMN($Z1)), INDEX($C:$C, COLUMN()-COLUMN($Z1)))
Isso é equivalente a
=SUBSTITUTE(AA1, B2, C2)
, que é equivalente a=SUBSTITUTE(SUBSTITUTE(A1, B1, C1), B2, C2)
. - Arraste / encha
AB1
paraLZ1
. Este será o resultado deA1
com todas as substituições deB1:C1
aB312:C312
aplicadas (porqueL
é a 12ª letra e 12 × 26 é 312). - Defina
D1
para=LZ1
, para refletir o resultado de todas as substituições. - Arraste / abasteça
D1
eAA1:LZ1
para baixo até os dados na colunaA
.