Chciałbym w Excelu zrobić słownik, który ma działać tak, że użytkownik w wybranej komórce wpisuje słowo polskie, a w komórce obok pojawia się jego angielski odpowiednik. Jak to wykonać?
Chciałbym w Excelu zrobić słownik, który ma działać tak, że użytkownik w wybranej komórce wpisuje słowo polskie, a w komórce obok pojawia się jego angielski odpowiednik. Jak to wykonać?
Sugeruję najpierw zbudowanie tabeli z listą polskich słów i ich angielskich odpowiedników. Ta część pracy będzie jednocześnie częścią najbardziej praco- i czasochłonną.
Warto takiej tabelce nadać nazwę (w polu nazwy), żeby można się było bez problemów odwołać do niej z innego arkusza. Nadaję jej nazwę słownik.
W kolejnym arkuszu budujemy arkusz "interaktywny", odwołujący się do listy słów ze słowniczka.
Wykorzystam tutaj funkcję Wyszukaj.Pionowo, która pozwala na łączenie danych z dwóch różnych tabel.
Składnia funkcji jest następująca: funkcja wyszukuje wartość z komórki A2 (w tym przypadku słowo polskie namiot), wartość ta jest wyszukiwana w pierwszej kolumnie tabelki, której nadaliśmy nazwę słownik. Następnie Excel ma wyświetlić słowo angielskie, jakie znajdzie obok polskiego słowa, w drugiej kolumnie tabelki słownik (właśnie to oznacza liczba 2).
Trzeba przewidzieć sytuację, że ktoś wpisze słowo, jakiego nie przygotowaliśmy w słowniczku - dlatego na końcu funkcji wpisuję fałsz lub 0 (zero), które wymusza wyszukiwanie dokładne. Wyszukiwanie dokładne wyświetli komunikat #N/D! w chwili, kiedy użytkownik wpisze słowo spoza naszego słownika.
Nie wpisałem do słownika słowa koń, więc generuje ono komunikat #N/D!, który oznacza tylko tyle, że wpisana została wartość nie występująca w pierwszej kolumnie tabelki, do której odwołuje się funkcja Wyszukaj.Pionowo.
Ponieważ komunikat #N/D! nie wygląda zbyt efektownie, "opakowuję" funkcję Wyszukaj.Pionowo funkcją jeżeli.błąd, która zamiast komunikatu #N/D! wyświetli trochę przyjemniejszy tekst.
funkcja: =JEŻELI.BŁĄD(WYSZUKAJ.PIONOWO(A2;słownik;2;FAŁSZ);"nieznane słowo") wyświetla komunikat nieznane słowo zamiast komunikatu #N/D! w przypadku wpisania słowa spoza naszej listy.
Dodatkowo arkusz, zawierający słowniczek, można ukryć, żeby nie było widać listy słów. Najprościej zrobić to, klikając prawym
klawiszem myszki w nazwę arkusza i wybierając opcję Ukryj.
W Excelu 2013 pojawiła się funkcja JEŻELI.ND, która ma identyczną składnię jak funkcja JEŻELI.BŁĄD, ale jej działanie ogranicza się jedynie do obsługi komunikatu #N/D!, natomiast funkcja JEŻELI.BŁĄD jest w stanie obsłużyć każdy komunikat o błędzie w MS Excel.
W załączniku zamieszczam, przykładowy plik z rozwiązaniem tego zadania.
Załączniki
Pytanie niezmiernie ciekawe. Zastanowiło mnie jednak, co zrobić, gdy wpisane słowo nie występuje w słowniku, ale jest np w 75% zbliżone do występującego. Przydałaby się funkcja UDF fuzzy lookup, wyszukiwanie rozmyte. Znalazłem taką tutaj:
Ciekawa strona, pobawiłem się troszkę zamieszczonymi tam kodami i wyglądają obiecująco. Dziękuję za adres, na pewno będę tam zaglądał.