Próbuję zastąpić zestaw liczb 1,2,3,4,5 odwrotną liczbą w ramach obliczeń, które należy wykonać. 1 = 5, 2 = 4, 3 = 3, 4 = 2, 5 = 1.
Formuła, której używam, to
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(F13,"2","4",1 ),"1", "5", 1 ),"4", "2", 1 ),"5", "1", 1 ),"2","4", 1)
Działa jednak tylko dla liczb 2 i 5 i nie zastępuje 1 i 4.
,
jak wyżej?Odpowiedzi:
Spowoduje to zastąpienie liczb (bez tekstu)
Po prostu iteruje liczbę odejmując każdą część od 6, aby uzyskać liczbę odwróconą, a następnie mnoży ją przez współczynnik 10, aby ułożyć we właściwej kolejności.
Trochę komplikuje się z łańcuchami. możemy użyć tablicowej wersji CONCAT, która została wprowadzona wraz z Office 365 Excel.
Będąc formułą tablicową, należy wyjść z trybu edycji za pomocą Ctrl-Shift-Enter zamiast Enter.
To także iteruje ciąg i jeśli jest liczbą, odejmuje 6 i zwraca z powrotem concat.
Jeśli chcesz kontynuować zagnieżdżone SUBSTITUTES, musisz zmienić dwie liczby na coś innego przed zamianą dwóch pozostałych. Następnie przełącz znaki specjalne na wyjście pożądania.
źródło
Napisz tę formułę macierzy w komórce
B2
:Uwaga: zakończ formułę za pomocą
Ctrl+Shift+Enter
.W przypadku oddzielonej przecinkami listy liczb / tekstu Skopiuj i wklej poniższy kod VBA jako moduł z arkuszem.
Napisz UDF w komórce
B4
i wypełnij:=ReverseTxt(A2)
NB
12, 13
to będzie31, 21
iDA
będzieAD
.źródło