Izbēgt no lapas (Excel mīkla): 5 soļi (ar attēliem)
Izbēgt no lapas (Excel mīkla): 5 soļi (ar attēliem)
Anonim
Izbēgt no lapas (Excel mīkla)
Izbēgt no lapas (Excel mīkla)

Izbēgt no lapas ir neliela Excel spēle, kuru es saliku pirms vairākiem gadiem, lai kolēģu grupai iemācītu dažas uzlabotas Excel prasmes, vienlaikus mazliet izklaidējoties ar niekiem un loģikas mīklas - divas lietas, kas man patīk!

Šī spēle ir apvienota ar Excel formulām, nosacītu formatējumu gan pašreizējai šūnai, gan vērtībām, kuru pamatā ir cita šūna, un dažiem VBA makro, lai padarītu kodēšanu nedaudz grūtāku.

1. solis: spēles koncepcija

Spēles koncepcija
Spēles koncepcija
Spēles koncepcija
Spēles koncepcija

Lai rakstītu spēli, jums patiešām nav nepieciešama milzīga programmēšanas pieredze vai dārga programmatūra, šeit varat to izdarīt programmā Excel.

Spēle ir maza 2 parter, pirmais līmenis ir nieki viktorīna.

Sistēmā ir 50 jautājumu banka, lai gan tas varētu būt vairāk, ja esat tik noskaņots.

Lai novērstu visas iespējamās neskaidrības ar pareizrakstību vai lielo burtu atbilstību, visiem jautājumiem ir atbildes ar cipariem.

Sistēma spēlētājam nejauši uzrādīs 5 no šiem jautājumiem, spēlētājs var pieprasīt jaunu jautājumu kopumu.

Kad būs atbildēts uz 5 jautājumiem, sistēma informēs spēlētāju, ka tie nav izdevušies, un mēģinās vēlreiz, vai arī tiks atvērta 2. telpa.

2. istaba ir loģiska mīkla, kurā krāsu secība tiek ģenerēta arī nejauši, un spēlētājs var atjaunoties jebkurā laikā. Katra no krāsām ir saistīta ar skaitli 1-10, spēlētājam jāizmanto izmēģinājumi un kļūdas/atmiņa, lai atrastu numurus, kas atbilst un atkārto secību.

2. darbība: iestatīšana

Iestatīšana
Iestatīšana

Sākumā es izveidoju darbgrāmatu ar 4 tukšām darblapām.

Sākot ar 3. lapu, es izveidoju tabulu ar virsrakstu "Jautājums" un "Atbilde"

A slejā un izmantojot automātiskās aizpildes ciparus 1-50 ir svarīgi, lai atlases procesā jautājumi būtu numurēti.

Pēc tam es tiešsaistē un caur savu atmiņu meklēju 50 jautājumus ar skaitliskām atbildēm.

Tagad mums ir nepieciešams veids, kā importēt šos jautājumus 1. lapas 1. ekrāna ekrānā.

Tas tiek darīts, izmantojot funkciju VLOOKUP, tas ļauj mums izmantot numuru jautājumu rindas sākumā. Tomēr, ja mēs vienkārši izmantotu 1-5 no 1. istabas lapas, mēs saņemtu tikai pirmos 5 jautājumus tādā pašā secībā. Šeit nāk 2. lapa, šeit ir 2 formulu rindas, pirmajā tiek izmantota funkcija RANDBETWEEN, tas ļauj lietotājam ievadīt diapazonu, starp kuru tiks ģenerēts nejaušs ieraksts. Problēma ir tāda, ka ar nelielu diapazonu, piemēram, šo, pastāv liela varbūtība, ka būs dublikāti, un tas neradītu ļoti sarežģītu viktorīnu. Tātad, lai to novērstu, ir otrā sleja, kurā tiek sperts solis tālāk un tiek noņemti dublikāti, izmantojot gan funkcijas RANK. EQ, gan COUNTIF, šīs vērtības salīdzina ar pārējo sarakstu un uzskaita, ja sarakstā ir atkārtota vērtība pilns saraksts, šīs vērtības tiek saskaitītas kopā, un tiek iegūta nejauša un unikāla vērtība. Mēs to varam apstiprināt, nokopējot sarakstu, pēc tam ielīmējot vērtības un sakārtojot mazāko līdz lielākajam, tas parādīs visas unikālās vērtības 1–50.

Atgriežoties 1. telpā, mēs varam izmantot VLOOKUP, lai no saraksta ņemtu 1., 2., 3. utt. Vērtību un meklētu to jautājuma lapā gan jautājumam, gan atbildei. Katru reizi, kad tiek atjaunoti nejaušie skaitļi, 1. istabas ekrānā parādīsies jauns jautājumu kopums.

Excel ir konfigurēts automātiskai aprēķināšanai, tas rada problēmas ar funkciju RANDBETWEEN, jo katru reizi, kad lapa tiek ielādēta, aprēķins tiek izpildīts un jautājumi tiek pārkārtoti. To var iestatīt uz pirkšanu manuāli, dodoties uz lentes Formulām, pēc tam Aprēķina opcijas un iestatījumu uz manuālu, mēs parūpēsimies par aprēķinu vēlāk.

Pirms šīs lapas pabeigšanas mēs slēpjam C sleju (faktiskās atbildes)

3. darbība: atbildiet uz pārbaudēm

Atbildēt Pārbaudes
Atbildēt Pārbaudes

Atbilžu pārbaude patiešām ir pavisam vienkārša. Visu gaidīto atbilžu vērtība tiek summēta šūnā C slejas apakšā 1. telpā, spēlētāju atbildes tiek ielādētas D slejā un summētas.

VBA skripts ir ieprogrammēts, lai veiktu aprēķinu un pārbaudītu atbildes.

Lai pievienotu pogu, dodieties uz lentes Izstrādātājs, pievienojiet pogu, izmantojot Ievietot -> Poga

Kad esat uzzīmējis pogu, ir iespēja pievienot jaunu makro. Šajā gadījumā es to saucu par pārbaudes atbildēm

Viss, kas tiek darīts, tiek veikts aprēķins (tikai šai lapai) un pārbauda, vai paredzamo atbilžu summa sakrīt ar spēlētāju atbilžu summu. Ja skaitļi nesakrīt, tiek parādīts ziņojuma lodziņš, kurā teikts, ka mēģiniet vēlreiz. Ja tie ir veiksmīgi, mēs atklājam 2. istabas lapu.

Šūnā B28 ir arī nosacīts formāts ar bultiņu, kas liek lietotājam pārvietot cilnes.

4. solis: dažādu jautājumu iegūšana

Dažādu jautājumu iegūšana
Dažādu jautājumu iegūšana

Lai atskaņotājam iegūtu jaunus jautājumus, mums vienkārši ir jāveic atkārtoti aprēķini gan 2. lapā (nejaušo skaitļu lapa), gan pēc tam 1. istabas lapā, tāpēc VLOOKUP atsaucas uz jaunu skaitļu kopu un arī ievelk jauno saistītie jautājumi. Šis koda fragments notīra arī sadaļu Spēlētāju atbildes.

5. solis: 2. istaba

2. istaba
2. istaba

2. istaba ir loģikas un atmiņas mīkla, ko lietotājs mums parādīja ar sešu nejauši ģenerētu krāsu secību, atkal tiek izmantota funkcija RANDBETWEEN ar diapazonu no 1 līdz 10.

Pastāv nosacījuma formatēšanas noteikumi, kas, pamatojoties uz šūnu skaitu, mainās aizpildījuma un fonta krāsas atkarībā no vērtības.

Spēlētājam ir jāievada šie skaitļi secīgi un pēc tam jāievada pārbaude. Nav nekādu norāžu par to, kāda krāsa ir kāds skaitlis, tāpēc, pārbaudot, viņiem jāatceras, kādu rezultātu viņi ieguva par katru ierakstu.

Atkal atbilžu šūnās esošās vērtības tiek summētas, spēlētāja atbildes arī tiek summētas, un makro izpilda aprēķinu, aizpilda krāsas un pārbauda rezultātu. Tas vai nu liek spēlētājam mēģināt vēlreiz, vai arī apsveic viņu ar uzvaru.

Ir arī jauna secības poga, kas ļauj spēlētājam iegūt jaunas krāsas, tas palaiž aprēķinu, bet tikai 10. rindas šūnās un notīra spēlētāja atbildes 12. rindā.

Esmu mēģinājis augšupielādēt spēli, taču, tā kā tas ir.xlsm fails, tas nav atļauts, tāpēc, ja rodas kādi jautājumi, lūdzu, lejupielādējiet kopiju no šejienes.

Ieteicams: