Bár ma még nem tértem volna vissza az egyértelműen legtöbb kérdést és egyben lehetőséget generáló Office-modulhoz, az Excelhez, de egy rövid olvasói kérdés miatt változott a terv, hiszen mi értelme különféle alakzatokat rajzolgatni, amikor a mindennapokban valószínűleg más problémák nehezítik meg az életünket elég sűrűn.
Úgyhogy most jöjjön egy olvasói kérdés és egy válasz, bár én kicsit átdolgoztam, nehezebbé tettem a feladványt. Szóval ha van egy kis táblázatunk, mint a lenti képen látható, akkor hogy érjük azt el, hogy bizonyos szavak találata esetén az adott sor melletti cellába kiírjon egy bizonyos értéket?
A mi esetünkben mondjuk "eladva" kulcsszó esetén egy egyest, "kibérelve" kulcsszó esetén egy kettest, "törött" kulcsszó esetén egy hármast, minden más esetben pedig egy négyest szeretnék látni.
Nem kell megijedni, csak elsőnek tűnik nehéznek, alapvetően nem beszélünk egy komplex problémáról, mindössze három függvényt kell hozzá ismernünk: az IF, az ISNUMBER és a SEARCH formulákat.
Az IF-et nem kell bemutatni, de már a másik kettőről is volt szó itt - mindenesetre ismétlés a tudás anyja, szóval az ISNUMBER a paramétereként megadott celláról, értékről megmondja nekünk, hogy számértékről van-e szó vagy sem, és ennek tükrében ad TRUE vagy FALSE értéket. A SEARCH pedig nagyon jó barát, az első paramétereként megadott szöveget fogja megkeresni a második paramétereként megadott szövegben, majd visszaadja annak a karakternek a számát, ahol a keresett szövegünk elkezdődik először.
Azaz a mostani példánknál maradva a
=SEARCH("eladva",A2)
függvény megmondja, hogy szövegünkben hányadik karaktertől kezdődik az "eladva" szó, már persze ha kezdődik, hiszen ha nem talál semmit, hibaüzenetet ad.
Miért van szükségünk az ISNUMBER függvényre? Ahhoz, hogy később tudjuk az IF-et használni, a SEARCH által visszaadott szám helyett arra van szükségünk, hogy tudjuk, a SEARCH számot adott-e vissza vagy hibaüzenetet, ergó az
=ISNUMBER(SEARCH("eladva",A2)
függvény abban az esetben, ha A2-ben van "eladva" szó, ad egy TRUE-t, ha nincs, ad egy FALSE-t.
Innen pedig már nem kell nagy Excel-mágusnak lenni, hogy lássuk mit kell tennünk - szimplán fogunk egy IF-et és megnézzük, hogy az eddigi függvényünknek mi az eredménye, ha TRUE akkor kiírjuk a fent megfogalmazott és elvárt egyest, ha nem, akkor mondjuk egy nullát:
=IF(ISNUMBER(SEARCH("eladva",A2)),"1",0)
Látható, hogy ez szépen működik, tehát feladatunk első részét teljesítettük. Hogy érjük el, hogy legyen kettes, hármas és négyes szám is? Most jönnek az egyébként később sokszor nehezen értelmezhető beágyazások, hiszen a mi esetünkben arra kell kérnünk az Excelt, hogy ha nem talál "eladva" szót az A2-ben, akkor ne nullát írjon, hanem vizsgálódjon tovább:
=IF(ISNUMBER(SEARCH("eladva",A2)),"1",IF(ISNUMBER(SEARCH("kibérelve",A2)),"2"))
Azaz ha nincs "eladva" szócska, akkor teljesen ugyanezzel a függvénnyel megnézi, hogy van-e "kibérelve" szócska. Innentől kezdve pedig már csak türelmünktől és az elvárt vizsgálatok számától függ beágyazásunk nagysága, jelen esetben a feladatot a következő függvénycsomag oldja meg:
=IF(ISNUMBER(SEARCH("eladva",A2)),"1",IF(ISNUMBER(SEARCH("kibérelve",A2)),"2",IF(ISNUMBER(SEARCH("törött",A2)),"3","4")))
