Pozwól użytkownikowi programu Excel wybrać operatora dla formuły

0

Chciałbym skonfigurować arkusz kalkulacyjny, który pozwoliłby użytkownikowi wybrać operatora do zastosowania w innych komórkach. Na przykład: jeśli A1 ma 5, a A2 ma 10, chciałbym, aby użytkownik mógł wybrać operatory plus lub minus z komórki A3 (wynikowy A4 wyświetla wynik: A1 + A2 lub A1 - A2).

Wiem, że mógłbym to zrobić za pomocą instrukcji IF lub WYBIERZ. Ale zastanawiałem się, czy istnieje coś krótszego. Próbowałem ustawić A4 na te opcje, ale żadna nie działa zgodnie z przeznaczeniem. Chcę wynik liczbowy, na przykład 15 lub -5

Oto, co próbowałem: - = A1 i A3 i A2 - = A1 + A3A2

Czy są jakieś metody inne niż JEŻELI lub WYBIERZ?

użytkownik348514
źródło

Odpowiedzi:

0

Odpowiedź na to pytanie składa się z dwóch części ...

  1. Budowanie poprawnego ciągu do oceny, odpowiedź tutaj
  2. Odpowiedź na ten ciąg znaków, jak gdyby to była prawdziwa formuła, odpowiedział tutaj

Przykład budowania poprawnego ciągu dla opisanego problemu: W komórce A4 wpisz następującą formułę ...

=A1&A3&A2

Jeśli umieścisz 10 w A1, 11 w A2 i * w A3, będzie to miało wartość 10*11

Bardziej złożone sposoby budowania łańcucha mogą wymagać użycia funkcji ADDRESSi / lub INDIRECT.


Starsze wersje programu Excel zawierały UDF do oceny, który nie istnieje w nowszych wersjach. Musisz stworzyć własny UDF, taki jak ...

Function myEval(r As Variant) As Variant
    If TypeName(r) = "Range" Then
        myEval = Evaluate(r.Value)
    Else
        myEval = Evaluate(r)
    End If
End Function

Zgodnie z przykładem w komórce A5 można umieścić ...

=myEval(A4)

który oceniałby na 110. Lub możesz zastąpić zawartość komórki A4 ...

=myEval(A1&A3&A2)

który następnie ocenił 110.

OldUgly
źródło