Hogyan állapítható meg, hogy egy cella számjegyeket tartalmaz -e?
Szeretne képletet használni annak felismerésére, hogy egy szám vagy egy vagy több számjegy megtalálható -e a cella szövegében? Ha egy cellában van szám, a képletnek vissza kell adnia az "igen" -t, de akkor is, ha egy szám része a cellatartalomnak, azaz "Meine5isthier" vagy "2fast4you" esetén. Ez volt a feladat az Excel képletversenyen, és itt az első megoldás:
= HA (COUNT (FIND (LINE (A: A) -1; A1)); "igen"; "nem")
A képlet tömbképlet. Ezt az ENTER billentyű helyett a CTRL SHIFT ENTER billentyűparanccsal kell megadni. Ezután az Excel göndör zárójelekkel jelöli a képletet. Ne írja be ezeket a zárójeleket; ezek automatikusan a képlet köré kerülnek a tömbképletek megjelenítéséhez.
Az alábbi ábra a képlet gyakorlati használatát mutatja be:
A képlet hatására a FIND függvény megkeresi a 0–9 számjegyeket az A1 cellában. A 0–9 adatmező a LINE (1: 9) kifejezésből származik a mátrixban. A FINDEN egy adatmezőt ad vissza, amely a talált számjegyekből és az#ÉRTÉK hibaértékekből áll. áll.
Ebből a SZÁM függvény határozza meg a lista számjegyeinek számát. Ha ez a szám nagyobb, mint 0, a cella számjegyeket tartalmaz. Az IF függvény lekérdezi ezt a számot. Mivel az IF csak a 0 értéket tartja hamisnak, az IF függvény azt eredményezi, hogy "igen" jelenik meg, ha számjegyek vannak a cellában, és "nem", ha nem.
A képlet nagyon rövid, de nagyon lassan is működik, mert az A oszlop minden sorát mátrix szerint végzi el a képlet hossza érdekében. A funkció a következőképpen gyorsul:
= HA (COUNT (FIND (LINE (A1: A10) -1, A1)), "igen", "nem")
Alternatív megoldásként használhatja a 2. megoldást, amely ugyanannyi karaktert használ:
= HA (SZÁM (1 * RÉSZ (A1; VONAL (A: A); 1)); "igen"; "nem")
Ez a képlet egy tömbképlet is, amelyet a CTRL SHIFT ENTER billentyűvel kell átvinni egy cellába.
Ebben a képletben az A1 cellából származó cellatartalom egyes betűit / számjegyeit mátrix segítségével izolálják, majd megszorozzák 1 -gyel. Ez egy mátrixot eredményez, amely a # VALUE1 hibaértékekből és a cellatartalom egyes számjegyeiből áll. A képlet ezután a SZÁM függvény segítségével határozza meg a számjegyek számát, és az IF lekérdezés kritériumaként használja.
Ez a képlet azért is lassú, mert az A oszlop minden sora végigfut. A képlet gyorsabb lesz a következő változtatással:
= HA (SZÁM (1 * RÉSZ (A1; SOR (A1: A100); 1)); "igen"; "nem")
Ebben az esetben az A1 cellában vizsgálandó bejegyzés legfeljebb 100 karakter hosszú lehet. A következő, különösen gyors képlet, amelyet normál módon adhat meg, egyáltalán nem igényel mátrixot:
= HA (SZÁM (FIND ({0; 1; 2; 3; 4; 5; 6; 7; 8; 9}; A1)); "igen"; "nem")
Itt a ROW (A: A) mátrix helyébe a lehetséges 0 és 9 közötti számjegyek felsorolása kerül. Ebben a képletben be kell írnia a göndör zárójelet!