Cum pot conta numărul de repetiții, Excel pentru toate
Se calculează numărul de care este mai mare decât zero: = COUNTIF ($ A $ 2: $ A $ 30, "> 0")
Contoriza numărul de celule non-gol: = COUNTIF ($ A $ 2: $ A $ 30; "<>„)
După cum se vede din al doilea model - nu sunt repetate aici, cu toate că ele sunt toate înregistrate de masă intercalate. Nu voi insista asupra acestui - Eu l-am descris deja în articol Cum se obține o listă de valori unice (non-recurente)? și, dacă este necesar, posibil să se utilizeze orice metodă descrisă în acesta.
Dar. Sunt momente când lista nu este în tabel, și într-o singură celulă ($ D $ 1):
Melon Melon mere Kiwi Pear Pear Pear pepene verde banane mere Apple Apple Banana Kiwi Banana pepene galben Pepene Pepene Melon pepene verde Kiwi mere pere pepene galben mere Kiwi pepene verde
COUNTIF aici nu va ajuta. Dar Excel este plin de alte caracteristici și tot ce se poate face la fel de simplu:
= (LEN ($ D $ 1) -DLSTR (SUBSTITUT ($ D $ 1; D3; ""))) / LEN (D3)
LEN - contorizează numărul de caractere din respectiva celulă / string ($ D $ 1 D3.)
SUBSTITUT (text; OLD_TEXT; text_nou) - Înlocuiesc caracterul text dat specificat pe orice altă valoare predeterminată. În mod implicit, înlocuiește toate repetări ale caracterului specificat. Aceasta este ceea ce constituie baza algoritmului. În exemplu, valorile Banana (D3) incremental parsarea formula:
- utilizând funcțiile LEN obține numărul de caractere în linie-sursă ($ D $ 1) = (170-LEN (SUBSTITUT ($ D $ 1; D3; ""))) / LEN (D3);
- prin utilizarea substitutului înlocui, în conformitate cu textul original ($ D $ 1) Toate valorile Banana (D3) asupra semifabricatului și mijloace prin LEN obține șirul simbol număr după substituția = (170-155) / LEN (D3);
- Am scădea din numărul total de caractere din șirul de caractere după înlocuire și rezultatul se înmulțește cu numărul de caractere în criteriul = (170-155) / 5.
Obținem numărul 3. Ceea ce este necesar.
Și o simplă funcție de utilizator. care contează, de asemenea, repetarea într-o celulă:
Dmitri, fără supărare, de ce funcțiile și argumentele sunt întotdeauna atât de extensiv tine codificate? Utilizatorul nu înțelege ce e ceea ce. Puteți, de fapt, în loc de:
Funcția GetRepeat (sTxt Ca String, sCntWord ca șir)
GetRepeat = (Len (sTxt) - Len (Înlocuiți (sTxt, sCntWord ""))) / Len (sCntWord)
end Function
Fa ceva fel:
Funcția CHPOVTOR (interval ca String, criteriul ca șir)
CHPOVTOR = (Len (interval) - Len (Înlocuiți (interval, criterii ""))) / Len (Criteriul)
end Function
Deci, pentru că în cele din urmă va fi mai clar.
cuvântul „multiplica“ ar trebui să fie înlocuită cu „cota“ în text. Text copiat de mai jos:
◾vychitaem din totalul simbolurilor numărul de simboluri în șir după înlocuire și rezultatul se înmulțește cu numărul de caractere în criteriul = (170-155) / 5.