Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

MS Excel 2010 - Obliczenie formuły zapisanej w sąsiedniej komórce

Iwona2912 25 Wrz 2013 12:51 2061 6
  • #1 25 Wrz 2013 12:51
    Iwona2912
    Poziom 2  

    Jak to zrobić, żeby w jednej komórce wpisać NP. 25*50/100 (i żeby się wyświetlało samo równanie ), a w sąsiedniej komórce żeby wyświetlił się automatycznie wynik tego równania?

    0 6
  • #2 25 Wrz 2013 13:20
    rafal2365
    Poziom 8  

    W sąsiedniej komórce piszesz formułę np: =25*50/100.
    Ewentualnie przyjmijmy że 25 leży w komórce A1, 50 w A2, 100 w A3 to piszesz =A1*A2/A3.

    0
  • #3 25 Wrz 2013 14:00
    Iwona2912
    Poziom 2  

    Tyle to ja wiem, ale chodzi o to żeby to się samo wpisywało, bo trzeba ręcznie różne równania wpisywać i nie chcę ich za każdym razem przepisywać, tylko żeby się automatycznie przenosiły do sąsiedniej komórki, tak aby tamta oddawała już wynik zapisanego równania.

    0
  • #4 25 Wrz 2013 14:06
    Maciej Gonet
    Poziom 32  

    Niestety w Excelu nie da się (bez Visual Basica) obliczyć wartości formuły zapisanej jako tekst. Można tylko odwrotnie: zapisać formułę dwa razy w sąsiednich komórkach (ewentualnie skopiować), w jednej komórce pozostawić formułę tak jak jest (obliczy się wartość), a w drugiej przed znakiem = dodać apostrof ('), ewentualnie pominąć znak = na początku - wtedy wyświetli się tekst formuły. W Excelu 2013 jest już specjalna funkcja FORMUŁA.TEKST(adres), która wyświetla tekst formuły z innej komórki.

    0
  • #5 25 Wrz 2013 14:30
    Iwona2912
    Poziom 2  

    A czy można jakoś wgrać taka funkcję do starszego excela? Bo wie że jest możliwość dogrywania funkcji zdefiniowanych przez użytkownika.

    0
  • #6 25 Wrz 2013 17:25
    Maciej Gonet
    Poziom 32  

    Dzień dobry,
    Można zdefiniować funkcję użytkownika działającą analogicznie do funkcji FORMUŁA.TEKST. Przykładowo treść funkcji można zdefiniować tak:

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Argumentem funkcji jest adres lub nazwa komórki z formułą, wynikiem jest tekst formuły w wersji polskiej (gdyby użyć właściwości Formula zamiast FormulaLocal wynikiem byłaby angielska wersja formuły).
    Definicję funkcji należy umieścić w module ogólnego przeznaczenia. Należy otworzyć edytor Visual Basica (najłatwiej przez Alt+F11), wybrać Insert Module i w otwartym oknie wkleić powyższą definicję, wrócić do arkusza. Teraz już można używać funkcji tak jak standardowej np. =TekstFormuły(C5). Nazwę funkcji można zmienić, ważne by ta sama nazwa była w nagłówku i w treści funkcji.
    Ta funkcja jest bardzo prosta, znacznie trudniej jest napisać funkcję działającą w drugą stronę, to znaczy pobierającą tekst formuły, a zwracającą wartość.
    Powodzenia.

    1
  • #7 27 Wrz 2013 01:18
    JRV
    Specjalista - VBA, Excel

    Witam
    można to zrobić za pomocą zdarzenia arkusza

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$B$3" Then Exit Sub
    Range("d3").Formula = "=" & Range("b3")
    Range("b3").Activate
    End Sub

    Napisać wyrażenie w komórce B3, rozwiązanie w komorce D3

    0