Telefonszámunk: 1-472-0679

Egyforma adatok zebra csíkozása feltételes formázással

2015-12-06 - horvimi - Kategória: Formázás, Tömbképletek
Hivatkozott Excel verzio: Excel 2007 Excel 2010 Excel 2013

Érdekes kérdés érkezett a minap a fórumba, aminek a vizsgálata során eldöntöttem, hogy megírom ezt az anyagot. Tehát adott egy lista, ahol biztosított az, hogy az egyforma adatok egymás után vannak. Nem feltétlenül vannak sorba rendezve, de azért általában ez a helyzet. A feladat az, hogy zebra csíkozást alkalmazva emeljük ki felváltva az azonos értékeket tartalmazó csoportokat.

feladat

 A megoldás a váltások számolása

Azt kellene valahogy figyelni, hogy hol vannak azok a pontok, ahol az aktuális cella nem egyezik meg a felette lévővel, mert akkor történt egy váltás. Ha minden cellára megállapítjuk, hogy hány ilyen váltás van az elejétől kezdve, akkor kapunk egy ilyesmit. A fejléc alatti első adat a B3 cellában van.

=SUMPRODUCT(--($B$3:$B3<>$B$2:$B2))
=SZORZATÖSSZEG(--($B$3:$B3<>$B$2:$B2))

Ez egy tömbképlet, ami a B3-tól az aktuális sorig megszámolja a váltások számát. A szám csak a váltások helyén növekszik.

valtasok_szamolasa

Ebből hogy lesz zebra?

Ez egy szokásos átalakítás, hiszen egy egyesével növekvő számlistában a páros és páratlan számok váltakozni fognak. Tehát nincs több dolgunk, mint a páros vagy páratlan számokhoz TRUE/IGAZ értéket rendelni, a másikakhoz pedig az ellenkezőjét. Ezt úgy érjük el, hogy az előző képletet kibővítjük egy páratlanság vizsgáló függvénnyel (MOD / MARADÉK):

=MOD(SUMPRODUCT(--($B$3:$B3<>$B$2:$B2));2)=1
=MARADÉK(SZORZATÖSSZEG(--($B$3:$B3<>$B$2:$B2));2)=1

Az adatokat kijelöljük fejléc nélkül, és a feltételes formázásnál ezt a képletet adjuk meg feltételként, majd a formátumot tetszőlegesen beállítjuk.

Felteteles_formazas_beallitasa

Letölthető minta munkafüzet

azonosak-csikozasa

Mindez Videón

A videóban mutatok egy másik megoldást is, ami más elven működik, ezért nem használja a fejlécben lévő adatot.

  • Lássuk!

Vélemény, hozzászólás?