Wpis z mikrobloga

#excel
Co zrobić, żeby poprawić czytelność długich formuł?
- Powiększenie paska formuł jest dobre, ale zajmuje zbyt dużo ekranu, no i nie można swobodnie używać strzałek oraz TABulatora
czy da się go przenieść w osobne okno?
Dotychczas próbowałem dodatków;
- Excel lab-AFE: nie potrafi kopiować formuł
- Formula forge: nie podświetla składni
- Formula Editor: Najlepszy, ale nadal nie podświetla składni
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ja długie formuły wklejam do Notepad++ bo on może edytować kolumny bloczka tekstowego. Ale chyba nie ma domyślnie wygranej podświetlenia składni, choć na pewno ktoś gdzieś taką stworzył - bo można dodać customowe skladnie do n++
  • Odpowiedz
- Powiększenie paska formuł jest dobre, ale zajmuje zbyt dużo ekranu, no i nie można swobodnie używać strzałek oraz TABulatora


@Erk700: Nie znam żadnego dodatku, który mógłby pomóc, ale podzielę się swoimi spostrzeżeniami.

Jeśli często natrafiasz na taki problem, to możliwości są dwie:
1) Zbyt słabo znasz to narzędzie i pora się podszkolić i nie robić formuł na
  • Odpowiedz
  • 0
@brak_nicku: Mam problem typu ,,Oblicz pole trójkąta" i tutaj użytkownik może podać np. długości boków, kąty, przekątne w różnych kombinacjach itp i teraz trzeba sprawdzić czy użytkownik podał odpowiednią ilość danych (nie za dużo, nie za mało).
Dalej w zależności od tego, które dane zostały podane trzeba użyć innego wzoru.

Musi to być Excel z uwagi na to, że użytkownik jest starszy i trudno go przekonać do nowych programów.
  • Odpowiedz
To jest formuła uwzględniająca jasno-niebieskie pola, teraz doszły 4 ciemno-niebieskie, zaś kombinatoryka mówi, że to dużo wariacji.


@Erk700: Na razie pokazałeś jedną prostą formułę. Jaka ma być logika formuły po dojściu kolumn G:J?
  • Odpowiedz
  • 0
@brak_nicku: Dojdzie:
Jako poprawne będą 2 wartości ciemne lub 1 ciemna i 1 jasna (kolumna z literami)
Na podstawie tego zostanie obliczona wartość E11, która wcześniej była po prostu wpisana bezpośrednio przez użytkownika.
  • Odpowiedz
@Erk700: Nawet formułę, którą podałeś wyżej można uprościć, bo skoro E11 ma być liczbą, to drugi warunek można zastąpić po prostu (D11=""). Teraz piszesz, że E11 będzie wyliczane, co spowoduje, że formułę najprawdopodobniej dalej będzie można uprościć. Nadal nie widzę z jakiego powodu tam nagle pojawiają się formuły, które mają jakieś dantejskie rozmiary
  • Odpowiedz
  • 0
@brak_nicku: W kolumnach D i E mają być tylko liczby.
Przy proponowanej zmianie =IF((COUNTBLANK(D11:E11)=1)*(D11="");E11;NA())
to w razie wpisania tekstu aaa podaje wartość aaa zamiast błędu, co ma znaczenie przy późniejszych warunkach i obliczeniach.
Dalsze komórki i formuły opierają się o funkcje ISNA()
Wiem, że Excel może zaznaczyć niepoprawne dane na czerwono lub wyświetlić komunikat, jednakże chcę tego uniknąć, ponieważ może to prowadzić do nietypowych wyników lub ograniczenia płynności użytkownika.
Erk700 - @brak_nicku: W kolumnach D i E mają być tylko liczby.
Przy proponowanej zmia...

źródło: Excel-Wiele możliwości wprowadzenia danych2

Pobierz
  • Odpowiedz
Przy proponowanej zmianie =IF((COUNTBLANK(D11:E11)=1)*(D11="");E11;NA())


@Erk700: Ja się wyraziłem nie do końca nieprecyzyjnie, mówiąc "drugi warunek" miałem na myśli nie ten, który sprawdza, czy E11 jest liczbą, czyli: =IF((D11="")*ISNUMBER(E11),E11,NA())
Skoro E11 jest docelowo wyliczane formułą to zakładam, że wynik to albo liczba, albo błąd więc można to dalej zapisać jako =IFERROR(E11/(D11=""),NA()).

Jeśli w jakimś momencie okazuje się, że wyliczenia są tak skomplikowane, że formuła zajmie pół ekranu to wyjście jest
  • Odpowiedz
  • 0
=IF((D11="")*ISNUMBER(E11),E11,NA()) ma sens. Nie wpadła bym wcześniej na wykorzystanie pustej wartości (D11="").
Wpadłem na jeszcze inny warunek COUNT(D11:E11)=1 , wtedy wyjdzie

=IF((D11="")*ISNUMBER(E11),E11,NA())
=IF(COUNT(D11:E11)=1,E11,NA())
=IFERROR(E11/(D11=""),NA()) - sprytnie wykorzystałeś 1/0. Intuicyjnie starałem się unikać tego działania, ale okazało się, że może być
  • Odpowiedz
=IFERROR(E11/(D11=""),NA()) - sprytnie wykorzystałeś 1/0. Intuicyjnie starałem się unikać tego działania, ale okazało się, że może być przydatne.


@Erk700: akurat dzielenie przez 0 często można wykorzystać, nawet w tak dziwnych konstrukcjach typu: =IFFERROR(1/(1/(jakiekolwiek działanie),"")) żeby ukryć zera w wynikach, jeśli jest taka potrzeba.
  • Odpowiedz
  • 0
@brak_nicku: Wkradł się mały błąd.
Powinno być w zależności od tego, czy używa się , czy ;
=IFERROR(1/(1/(Działanie)),"") lub
=IFERROR(1/(1/(Działanie));"")
Gdzie takie działanie ma zastosowanie? Zazwyczaj używam formatowania "Ogólne".
  • Odpowiedz
Wkradł się mały błąd.


@Erk700: Oczywiście, pisane na szybko bez Excela.

Co do użycia - to podałem przykładowe, zastąpienie zera pustą komórką, co moim zdaniem przydaje się na przykład w przypadku rzadkich macierzy, dla mnie prawa wersja jest dużo czytelniejsza. Oczywiście ten sam efekt można też osiągnąć formatowaniem, ale dla mnie osobiście ukrywanie danych formatem to lekki błąd w sztuce - później można się zdziwić, że warunek typu ISBLANK zwraca
braknicku - >Wkradł się mały błąd.

@Erk700: Oczywiście, pisane na szybko bez Excela....

źródło: Przechwytywanie

Pobierz
  • Odpowiedz
@Erk700: Ja nie mam pojęcia, od której dokładnie wersji te formuły są dostępne w Excelu. Wiem, że przez jakieś 15 lat MS nie bardzo dbał o rozwijanie formuł w ogóle. Do kolejnych wersji dodawał inne narzędzia i funkcjonalności, ale formuły pozostawały bez zmian. Aż nagle na rynku pojawił się nowy gracz - google, ze swoim darmowym sheets. Tam formuły w pewnym momencie stały się o lata świetlne lepsze od Excela,
  • Odpowiedz