Na list2 bych do A1 dal vzorec: =RANDBETWEEN(2;1000) (druhé číslo je počet slovíček, případně lze nahradit za COUNTA(List1.A1:A10000) takže vzorec vypadá =RANDBETWEEN(2;COUNTA(List1.A1:A10000)). Tím se vygeneruje náhodné číslo, které bude představovat číslo řádku.
Do další buňky (třeba A3) přijde otázka tedy české slovíčko: =INDEX(List1.A1:B10000;A1;2)
Vedle (do B3) se bude doplňovat anglické slovo.
Vyhodnocení bude vypadat nějak takto: =IF(B3=INDEX(List1.A1:B10000;A1;1);"Super";"Blbě").
V tomto případě nezáleží na velikosti písmen, což pokládám spíše za výhodu. Pokud by se měl text vyhodnocovat zcela přesně, pak lze použít funkci exact =IF(EXACT(B3,INDEX(List1.A1:B10000;A1;1));"Super";"Blbě").
Nové slovíčko se zadá trojhmatem Ctrl+Shift+F9, což je příkaz k přepočítání vzorců, čímž se vygeneruje nové náhodné číslo řádku.
EDIT: Samozřejmě o pár řádků níže (mimo "první" obrazovku může být správná odpověď: =INDEX(List1.A1:B10000;A1;1) takže tlačítkem PageDown získá člověk rychlou odpověď, pokud se nedaří.
EDIT II.: zkoušel jsem ještě více listů a nějak se to pokazilo. Ta funkce Randombetween se chová trochu jinak pokud se dovnitř přidá ještě INDIRECT - tehdy se začne přepočítávat po každém entru, kdežto jen s funkcí COUNT reagovala jen na CTRL+SHIFT+F9. Z toho plyne že použité téo metody na více listů bude problematické a nezbyde než použítí nějakého aspoň jednoduchého makra.
EDIT III.: ... jde to i pro více listů: do A1, B1 atd. se vloží čísla lekcí 1, 2, atd.. (Listy se nazvou Lekce1, Lekce2 atd.)(čísla mohou být libovolná a nemusí jít nijak po sobě a ani to nemusí být čísla, jen tam nesmí být žádná mezera v názvu listu)
Pod každé číslo lekce (do řádku 2) se vloží počet slovíček =COUNTA(Lekce1.A1:A1000), =COUNTA(Lekce2.A1:A1000) atd.
Do A4 vložím počet lekcí: =COUNT(A1:Z1)
Do A5 vložím generátor čísla sloupce s lekcí: =RANDBETWEEN(1;A4)
Do B4 vložím vybrané číslo lekce: =INDEX(A1:Z1;1;A5)
do B5 vložím generátor čísla řádku ve vybrané lekci: =RANDBETWEEN(2;INDEX(A2:Z2;1;A5))(předpokládám slovíčka od druhého řádku, pokud jsou už na prvním pak bude první číslo 1 ..between(1;Ind...
v A7 bude otázka pomocí funkce INDIRECT: =INDEX(INDIRECT("Lekce"&B4&"!B1:A1000");B5;2)
v A50 (mimo obrazovku) bude odpověď: =INDEX(INDIRECT("Lekce"&B4&"!B1:A1000");B5;1)
V B7 se bude doplňovat odpověď
a C7 bude vyhodnocení: =IF(B7=A50;"Super";"Blbě")
EDIT IV.: ... je to nespolehlivé, po instalaci nejnovějšího LO už to zase nefunguje - randbetween se přepočítává po každém entru, což je pro tuto potřebu nepoužitelné a musí se sáhnout k makru.
Editoval ludviktrnka (17. 2. 2019 12:50:10)