Excel zamienia wartość na taką samą liczbę znaków

1

Korzystamy z raportów Excel, które są widoczne dla wszystkich pracowników. Chodzi o zastąpienie każdej cyfry wartości komórki cyfrą „1”. Mogą mieć wskazanie wartości, tj. Setki lub tysiące, ale nie dokładną kwotę.

Oto przykład:

ORD          SUPPLY         RATE
3430         329961.25      95.07

należy przekonwertować na

ORD          SUPPLY         RATE
1111         111111.11      11.11

Czy to możliwe i jak? Próbowałem zamienić i policzyć liczbę cyfr do zastąpienia itp., Ale nie mogłem uzyskać jednoznacznej odpowiedzi.

Boeta
źródło
Czy musisz to zrobić za pomocą okna dialogowego Znajdź - zamień, zastępując liczby w całym skoroszycie / arkuszu. A może potrzebujesz formuły?
Máté Juhász
Niezależnie od tego, który sposób może działać, jest to dość duży arkusz (jeśli chodzi o kolumny), więc przypuszczam, że znalezienie - zastąpienie byłoby najłatwiejsze, zamiast konieczności stosowania formuł do każdej komórki?
Boeta
Zajrzyj tutaj: codedawn.com/excel-add-ins.php ; możesz łatwo zastąpić wszystkie cyfry ( [0-9]) do1
Máté Juhász
Myślałem o zrobieniu czegoś w rodzaju = WYMIANA (E2,1, LEN (E2), 1) , co według mojego zrozumienia zastąpi E2, zaczynając od znaku 1 z X ilością 1? Ale bezskutecznie
Boeta
„Ale bezskutecznie” - co dokładnie poszło nie tak?
Máté Juhász

Odpowiedzi:

1

Wybierz komórki, które chcesz przekonwertować i uruchom to krótkie makro:

Option Explicit
Sub One_ification()
    Dim r As Range, v As String
    Dim L As Long, i As Long, CH As String

    For Each r In Selection
        v = r.Text
        L = Len(v)
        For i = 1 To L
            CH = Mid(v, i, 1)
            If CH Like "[0-9]" Then Mid(v, i, 1) = "1"
        Next i
        r.Value = v
    Next r
End Sub

Przed:

wprowadź opis zdjęcia tutaj

i po:

wprowadź opis zdjęcia tutaj

Uczeń Gary'ego
źródło