На листе Excel:
Столбец А заполнен случайными текстовыми значениями (например, словами / предложениями), которые необходимо обновить.
И столбцы B и C содержат строки, которые определяют изменения, которые необходимо внести в столбец A. Столбец B заполняет каждую ячейку старым текстом, а столбец C - новым текстом, каждая строка соответствует друг другу, то есть текст в B1 необходимо заменить текстом C1, B2 заменить на текст C2. В столбце B одна из вещей, которую нужно заменить, - это "
.
В столбце B нет повторяющихся значений. Однако в столбце C клетки могут повторяться. Замены должны соответствовать порядку, в котором они были написаны. И столбец D является результатом.
Каждая ячейка из столбца A должна проходить через эту замену из B1-C1, B2-C2, B3-C3 и т. Д. До конца команд замещения в столбцах BC. Таким образом, перед тем, как дать окончательный результат, текст из столбца A будет меняться несколько раз, и только после всех изменений будет показывать результат в столбце D.
Пример:
Cell A1: Hello!
Cell A2: How are you "John"?
Cell A3: "Nice! thanks"
Cell B1: ! Cell C1: &
Cell B2: & Cell C2: .
Cell B3: " Cell C3: (empty)
Cell B4: ? Cell C4: #
Cell B5: Nice. thanks Cell C5: Fine, THANKS.
Таким образом, ячейка A1, которая Hello!
будет изменена на B1-C1, также будет изменена Hello&
. Затем изменится B2-C2 с изменениями, внесенными во временный результат, Hello&
так и будет Hello.
. Затем изменится B3-C3, затем выполнит B4-C4, а затем B5-C5, и ничего не произойдет, потому "
что в нем не существует Hello.
.
После этого результат D1 будет Hello.
.
Затем он выполнит A2 изменения B1-C1 (ничего не делать), затем применяется для этого будет делать B2-C2 (ничего не делать), затем B3-C3, который How are you John?
будет выглядеть как (то есть символы кавычек будут удалены), затем будет делать B4-C4, который будет делать How are you John#
, а затем B5-C5, который здесь делать нечего.
Так что результат D2 есть How are you John#
.
Точно так же значение A3 "Nice! thanks"
будет сначала меняться с B1-C1 "Nice& thanks"
, затем станет , затем станет B2-C2 "Nice. thanks"
, затем станет B3-C3 Nice. thanks
(опять же, кавычки будут удалены), затем ничего не делать в B4-C4 и затем B5 -C5 сделает его наконец-то Fine, THANKS
в D3.
Результаты:
D1: Hello.
D2: How are you John#
D3: Fine, THANKS.
Какова будет формула в столбце D для выполнения этой множественной замены в строке, следуя порядку строк, записанному в столбцах B и C, что позволяет столбцу BC иметь более 300 строк? (Я бы хотел решение на основе формул, а не VBA, если это возможно.)