Štetje praznih celic

Pomoč pri delu z MS Excelom
Odgovori
drglzr
Prispevkov: 31
Pridružen: Če Feb 21, 2013 10:06 pm

Štetje praznih celic

Odgovor Napisal/-a drglzr »

Pozdravljeni.

Nekaj časa se tukaj nisem "oglasil", zdaj pa sem spet naletel na težavo, ki je ne znam rešiti. :oops:

Zanima me, kako se določi (če je sploh mogoče) dinamično območje v formuli COUNTBLANK ali kakšni drugi formuli, ki bi mi preštela prazne celice med celico, v kateri bi se formula izvedla, in prvo kakorkoli polno celico v istem stolpcu nad njo.

Idealno bi bilo, da bi se funkcija izvedla v isti celici in takoj po izvedbi formule, s katero zajemam podatke iz Lista1 na List2, to je =IF(COUNTIF(List1!$B2:$M2;B$1)=1;B$1;""). S to formulo se, če določena "vrednost" (to so različna imena, ki so zapisana tudi v 1. vrstici Lista2) na Listu1 obstaja, le-ta "prekopira" vedno v isti stolpec Lista2. Če "vrednost" na Listu1 ne obstaja, se v celici "pripadajočega" stolpca ne izpiše ničesar, kar se lahko zgodi večkrat zapored, ali pa nikoli. Vem, da takšne celice niso prazne, vendar zna COUNTBLANK prešteti tudi celice s formulami, ki vračajo "" (če bi bilo potrebno jih lahko tudi enostavno in hitro pobrišem in bi bile ob naslednjem zajemu "vrednosti" z Lista1 dejansko prazne, v kolikor ne bi vsebovale "vrednosti").

Glede na to, da območje, ki naj bi ga formula za štetje zajemala, ni (nujno) vedno enako, bi se z dinamičnim območjem želel izogniti ročnemu popravljanju formul v vsakem posameznem stolpcu z "vrednostjo". Poleg tega bi s takšno rešitvijo v celici, kjer se določena "vrednost" pojavi, dobil število praznih celic med prejšnjo in aktualno celico (kar me na Listu2 dejansko zanima in to sedaj vnesem ročno iz formule COUNTBLANK, ki ji moram v priležni celici vsakič za vsak stolpec z "vrednostjo" prirediti območje – zamudno z možnostjo napak).

Upam, da sem težavo in namen dovolj razumljivo opisal ter da obstaja njena rešitev.

Vnaprej hvala za odgovor.

Lep pozdrav,

Drago
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Štetje praznih celic

Odgovor Napisal/-a admin »

Pozdravljeni,

Moram priznati, da ste me v opisu izgubili in ne razumem, kaj točno potrebujete. A v kolikor se naslonim na vaše originalno vprašanje: "Zanima me, kako se določi (če je sploh mogoče) dinamično območje v formuli COUNTBLANK ali kakšni drugi formuli, ki bi mi preštela prazne celice med celico, v kateri bi se formula izvedla, in prvo kakorkoli polno celico v istem stolpcu nad njo.", pa moram priznati, da ne poznam načina s samo uporabo vgrajenih Excelovih funkcij.

VBA funkcija, ki bi izvedla to je dokaj preprosta:

Koda: Izberi vse

Option Explicit

Function PrestejPrazneNadMano()
  Dim mojaVrstica As Long
  mojaVrstica = Application.Caller.Row
  
  Dim trenutniOdmik As Long
  trenutniOdmik = 1
  
  Dim addr As String
  Do While (trenutniOdmik < mojaVrstica)
    addr = Application.Caller.Offset(-trenutniOdmik, 0).Address
    If (Application.Caller.Offset(-trenutniOdmik, 0).Value <> "") Then
      PrestejPrazneNadMano = trenutniOdmik - 1
      Exit Function
    End If
    trenutniOdmik = trenutniOdmik + 1
  Loop
  
  PrestejPrazneNadMano = ""
End Function
lp,
Matjaž Prtenjak
Administrator
drglzr
Prispevkov: 31
Pridružen: Če Feb 21, 2013 10:06 pm

Re: Štetje praznih celic

Odgovor Napisal/-a drglzr »

Pozdravljeni!

Najprej hvala za hiter odgovor. Vendar pa mi "Option Explicit" povzroča težave. :oops: Očitno moram še nekaj definirati :?: , kar bo sprožilo vašo funkcijo. Ko uporabim zgoraj navedeno formulo, se v celicah namreč ne zgodi nič drugega, kot se je prej - pojavijo se "vrednosti" (=imena), namesto katerih bi želel dobiti število praznih celic nad to celico. Če funkcijo poskušam sprožiti v urejevalniku pa mi napiše "Object requred". Po moji omejeni pameti sama formula ne more biti sprožilec funkcije, saj lahko formula vrne tudi "prazno" ("") celico. Tako bi sprožilec morala biti "vrednost", kadar se pojavi v celici. Se motim?

Hvala. Lep pozdrav.

Drago
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Štetje praznih celic

Odgovor Napisal/-a admin »

Pozdravljeni,

Te funkcije ne morete sprožiti v urejevalniku, saj se mora zavedati, kje se nahaja (zato napaka 'Object req...')

Preprosto v celico vpišite

Koda: Izberi vse

=PrestejPrazneNadMano()
in ko boste pritisnili ENTER bo v celici zapisano število praznih celic nad njo,
lp,
Matjaž Prtenjak
Administrator
drglzr
Prispevkov: 31
Pridružen: Če Feb 21, 2013 10:06 pm

Re: Štetje praznih celic

Odgovor Napisal/-a drglzr »

Pozdravljeni!

Malo je trajalo, da sem se oglasil. Ko sem formulo priredil, mi za moje trenutne potrebe deluje, kot sem želel. :D

Še enkrat hvala za pomoč in prijaznost.

Lep pozdrav.

Drago
Odgovori