az adatbevitel szabályozása képlettel

2019-09-09    Excel 2019
Az adatbevitel szabályozása meghatározott cellák tartalmának előírását jelenti. A szereplőket, a korlátozót és a korlátozottat, nevezzük tervezőnek és felhasználónak! A tervező három módszer közül választhat: feltételt szab, listát készít vagy logikai kifejezést állít össze a szabályozás alá vont cella tartalmának meghatározására. A tényleges bevitel csak akkor történik meg, ha a beírandó adat [1] megfelel a feltételnek, [2] szerepel az elfogadási listában, [3] behelyettesítve a kifejezésbe, a kiértékelés IGAZ eredményt ad. A cikk-sorozat eddigi részeiben az első két módszert mutattam be. Ebben a részben a képletes-korlátozásról mesélek.
Nézzünk egy példát, amelyen nem csak a módszert ismerhetjük meg, de annak felhasználási lehetőségéről is képet alkothatunk. Egy vállalat kamatmentes kölcsönt biztosít dolgozóinak. A kölcsön összege nem lehet nagyobb az adott munkatárs fizetésének háromszorosánál. Adminisztráljuk a kölcsönöket!
az adatbevitel szabályozása képlettel, példa
A képen látható táblázat lesz az adatbeviteli szabály alapja. Alakítsuk át ezt táblázatot adatbázis-táblázattá! A neve „munkatársak” legyen! Ezután hozzuk létre azt, az adatbázis-táblázatot, amelyben vezetni fogjuk a kölcsönöket: írjuk be a mezőneveket (kolléga, kölcsön), jelöljük ki a két cellát és adjuk ki a billentyű-parancsot (Ctrl+r)!
az adatbevitel szabályozása képlettel, példa
…és töröljük a program rettenetes formázását! Hozzunk létre legördülő listát a munkatársak nevének egyszerű beviteléhez. Ne felejtsük, hogy a lista deklarációjában csak tartomány hivatkozás vagy tartomány-név szerepelhet, mezőnevet nem adhatunk meg.
Ezután kell a kölcsön mező korlátozó képletét megszerkesztenünk. Kattintsunk az első rekord kölcsön mezőjén, majd kérjük az Adatok érvényesítése parancstábla megjelenítését! Először válasszuk ki a Megengedve vezérlő az Egész szám adattípusát és hozzá a Jelleg vezérlő kisebb vagy egyenlő relációját! Ezt követően kell a képletet megszerkesztenünk a parancstábla Minimum mezőjében.
A kifejezésben meg kell kerestetnünk az aktuális rekord „kolléga” mezőjében álló karakterláncot a „munkatársak” tábla első mezőjében és az ezzel azonos rekordban álló fizetést kell megszoroznunk hárommal.
az adatbevitel szabályozása képlettel, a képlet és a hibaüzenet
Az okézást követően hibaüzenet kapunk, amelyet a kitöltetlen cellák generálnak. Lépjünk tovább az Igen vezérlővel!
Tanító Bácsi, elég béna ez a panel! Listás korlátozásnál a mezőnevet-, most az adatbázis-táblázat nevét nem ismeri fel, ráadásul ha a nyíl-billentyűkkel helyezzük át a kurzort, akkor hivatkozásokat ír a deklarációba! Hááát, Pistike! Ez van! Még szerencse, hogy ennek ellenére a program követi a megadott tartomány változásait!
Még egyet Tanító bácsi! Ha én már hallottam volna a képletes adatbeviteli korlátozásról, biztos az Egyéni-t választom a Megengedve listáról. És jól is tennéd Pistike! Nézzünk csak egy másik példát!
az adatbevitel szabályozása képlettel, példa
A képen látható adatbázis-táblázat neve „mennyiségek”. Hozzunk létre a „mennyiség” mezőben adatbeviteli korlátozást: a mennyiség csak a „csomagolás” többszöröse lehet. Hogyan tudjuk ezt az előírást képlettel ellenőrizni? Egyszerűen: elosztjuk a mennyiséget a csomagolással és megvizsgáljuk a maradékot, nulla-e. De hogyan szerepeltessük a mennyiséget a képletben, hogy ne alakuljon ki körkörös hivatkozás? Hozzunk létre az adatbázis-táblázatban egy segéd-mezőt, amely az aktuális rekord mennyiségét „mutatja”. Valahogy így.
az adatbevitel szabályozása képlettel, példa
Most már hozzáfoghatunk a képlet megszerkesztéséhez. …és az Egyéni-t választjuk a Megengedve listából. Ehhez a tételhez nincs „beépített” reláció-lista, de ha lenne, akkor se tudnánk használni… Tehát az összehasonlítást nekünk kell deklarálnunk!
az adatbevitel szabályozása képlettel, képlet
Az előbbi példában egy üres adatbázis-táblázatban hoztunk létre adatbeviteli korlátozást, ott csak egyetlen rekord volt, de ez a táblázat már egy csomó rekordot tartalmaz… Melyikhez adjuk meg a képletet? Az elsőhöz! A program majd ennek a másolatát helyezi el a többi rekordba.
Ahogy eltűnik az utolsó parancstábla is, kellemes megelégedettséget érzünk. De az első teszt-adat bevitele keserű csalódást okozhat! Valamit elrontottunk. Rákattintunk az első korlátozást tartalmazó cellára és visszahívjuk az Adatok érvényesítése panelt. A javítást követően, ne felejtsük el kijelölni A változtatás a többi azonos… feliratú vezérlőt!
az adatbevitel szabályozása képlettel, a képlet módosítása
Természetesen elfelejtjük. És a második rekord ellenőrzésénél elakadunk. És jön egy újabb próbálkozás: kijelöljük a tartományt, hívjuk a parancstáblát… és a program kitalálja mit akarunk.
az adatbevitel szabályozása képlettel, a képlet módosítása
Ne ijedjünk meg, a program csak a korlátozásokat törli, a már megszerkesztett képletünket nem. Természetesen, a segéd-mezőt tartalmazó oszlopot el is rejthetjük!
Tanító Bácsi! Eszembe jutott valami! Igen, Pistike!? Az jutott az eszembe, hogy ezt a szolgáltatást adatok utólagos ellenőrzésére is lehetne használni! Ezt a felhasználási módot a modul tervezői is felismerték és egy kis grafikus alkalmazással egészítették ki a szolgáltatást. Vegyünk példának egy „kitöltött" táblát!
az adatbevitel szabályozása képlettel, az adatok utólagos ellenőrzése
A táblázat egy kisüzem munkáinak azonosítóit és elvégzésük dátumát tartalmazza. A határidőnek péntekre kell esnie, hogy az esetleges elmaradásokat hétvégén be lehessen pótolni, mert átadás csak hétfőn lehetséges. Hozzunk létre képleten alapuló beviteli korlátozást a határidők ellenőrzésére: =HÉT.NAPJA( B2; 2 ) = 5. Ezután adjuk ki az Adatok, Adateszközök, Érvényesítés, Érvénytelen adatok bekarikázása.
az adatbevitel szabályozása képlettel, érvénytelen adatok bekarikázása
A képen felül a megjelölt, szabályt sértő dátumok, alul pedig a szabálysértések magas száma esetén megjelenített figyelmeztetés áll. A jelölések eltüntetése Adatok, Adateszközök, Érvényesítés, Bekarikázás eltávolítása utasítással történik.
  Ha a adatbevitel korlátozása modult nem adatbázis táblázatban használjuk akkor nekünk kell a korlátozás alá vont tartományt időnként kibővíteni. A kijelölés, majd az Adatok, Adateszközök, Érvényesítés parancs kiadása után a program kérdésére igennel kell válaszolnunk.
az adatbevitel szabályozása képlettel, a szabály kiterjesztése
Az igen ellenére a program megjeleníti az Adatok érvényesítése panelt és azt is okéztatni kell. És mi lesz Tanító bácsi A változtatás a többi azonos… vezérlővel? Azt már nem kell kipipálni, Pistike!
margitfalvi.arpad@gmail.com