Jak zrobić zwięzłe dwa alternatywne zastąpienia w programie Windows Excel 2010? [duplikować]

1

Możliwy duplikat:
Czy możesz wykonywać wyrażenia regularne w programie Excel bez VBScript?

Chciałbym zastąpić wzorzec ciągu innym wzorem:

= SUBSTITUTE (SUBSTITUTE (nazwa, „Vlue”, „Replace”), „Value”, „Replace”)

Gdzie szukam „Wartość” lub „Klej” i zastąpienie go „Zastąp”.

Być może coś zmierza w tym kierunku (to nie działa):

= SUBSTITUTE (nazwa, „V? Lue”, „Replace”)

Jak łatwo to osiągnąć w programie Excel 2010 w systemie Windows?

WilliamKF
źródło
Czy próbujesz to zrobić programowo lub po prostu używając ręcznego wyszukiwania i zamiany? Co już próbowałeś?
Ƭᴇcʜιᴇ007
Programowo w komórce Excela. Do tej pory po prostu używa substitute i próbuję obu przypadków, ale wyobrażam sobie, że jest lepszy sposób.
WilliamKF
Nie powinno tak być Va?lue dopasować to, co opisujesz?
Der Hochstapler
Tylko że tak nie jest ? wymagać jednej postaci?
WilliamKF

Odpowiedzi:

2

Nie tak łatwo, jak się spodziewasz.

Po pierwsze, ? wymaga listu, dlatego nie nadaje się do twojego przypadku, ponieważ tylko 5-literowe słowa zostałyby zaakceptowane Vlue .

Aby to zrobić za pomocą formuł, potrzebowałem:

A1 = "this is vlue test"
B1 = "v*lue"

Pozycja, gdzie v * lue zaczyna się

C1 = SEARCH(B1,A1,1)

Pozycja, gdzie v * lue kończy się. Może to wymagać poprawy.

D1 = SEARCH(" ",A1,C1)

Podstawienie:

E1 = SUBSTITUDE(A1,MID(A1,C1,D1-C1),"REPLACE")

Możesz oczywiście połączyć to wszystko w jedną formułę, ale ponieważ szybko się myli, nie zrobiłem tego.

Jook
źródło