Trucul # 69

Se întâmplă adesea că trebuie să rezumați fiecare celulă secundă, a treia, a patra, etc. în foaia de calcul. Acum, datorită următorului truc, acest lucru se poate face.

Excel nu oferă o funcție standard care poate însuma fiecare celulă sau linie n. Cu toate acestea, puteți îndeplini această sarcină în mai multe moduri diferite. Toate aceste abordări se bazează pe funcțiile ROW și MOD.

Așezați funcția ROW în funcția MOD (pentru a trece un argument numeric), împărțiți cu 2 (pentru suma fiecărei celula secunde) și verificați dacă rezultatul nu este egal cu zero. Dacă da, celula este însumată. Aceste funcții pot fi utilizate într-o varietate de moduri - unele vor oferi un rezultat mai bun decât altele. De exemplu, o matrice cu formula de însumare a fiecărei a doua celulă în gama de $ A $ 1: $ 100 A $ ar arata ca: = SUM (IF (MOD (ROW ($ A $ 1: $ A $ 500), 2) = 0; $ A $ 1: $ A $ 500; 0)). în versiunea rusă a Excel = SUM (DACĂ (STAND (LINE $ A $ 1: $ A $ 500); 2) = 0; $ A $ 1: $ A $ 500; 0)).

Deoarece aceasta este o formulă de matrice, trebuie să o introduceți apăsând pe Ctrl + Shift + Enter, Excel va adăuga niște bretele pentru a face acest lucru: în versiunea rusă a Excel: Este necesar ca Excel însuși să adauge bretele curry; dacă le adăugați singuri, formula nu va funcționa.


Deși obiectivul este atins, această metodă afectează negativ designul foii de calcul. Aceasta este o utilizare inutilă a formulei matrice. Pentru a agrava în continuare problemele, această formulă lungă este încorporată cu o funcție ROW (ROW) recalculată, care transformă o formulă mare într-una recalculată. Aceasta înseamnă că va fi recalculat continuu, indiferent ce faceți în registrul de lucru. Aceasta este o modalitate foarte rea!

Aici este o altă formulă, care este o alegere puțin mai bună: = SUMPRODUCT ((MOD (ROW ($ A $ 1: $ 500 A $), 2) = 0) * ($ A $ 1: $ 500 A $)). în versiunea rusă a Excel = SUMPRODUCT ((MOD (ROW ($ A $ 1: $ A $ 500), 2) = 0) * ($ A $ 1: $ 500 A $)).

Cu toate acestea, trebuie reținut că această formulă va returna o eroare #VALUE! (#VALUE!) Dacă unele celule din interval nu conțin numere, ci text. Această formulă, deși nu este de fapt o formulă de matrice, încetinește, de asemenea, Excel dacă îl utilizați prea multe ori dacă se referă la o gamă largă de fiecare dată.

Din fericire, există o cale mai bună, reprezentând nu numai o soluție mai eficientă, ci și mult mai flexibilă. Aceasta necesită utilizarea funcției BSSUMM (DSUM). În acest exemplu, am folosit intervalul A1: A500 ca interval în care fiecare celula n-a trebuie să fie însumată.

În celula E1, tastați cuvântul Criterii. În celula E2, introduceți următoarea formulă: = MOD (ROW (A2) - $ C $ 2-1; $ C $ 2) = 0. în versiunea rusă Excel = STATE (LINE (A2) - $ C $ 2-1, $ C $ 2) = 0. Selectați celula C2 și alegeți Data → Validare.

În câmpul Date type, selectați List, iar în câmpul Source introduceți 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Asigurați-vă că Lista valorilor valide (In-Cell) și faceți clic pe OK. În celula C1 introduceți textul SUM fiecare .... În orice celulă, cu excepția liniei 1, introduceți următoarea formulă: = DSUM ($ A: $ A; 1; $ E $ 1: $ E $ 2). în versiunea rusă a Excel = BDSMM ($ A: $ A; 1; $ E $ 1: $ E $ 2).

În celula direct de deasupra unde ați introdus funcția DSUM, introduceți textul = "Summing Every" $ С $ 2 ALEGE ($ C $ 2; "st" "nd" "rd" "th" "th" "th" "th" "th" "th" "th") "Cell". Acum rămâne doar să selectați numărul dorit în celula C2, iar restul se va face prin funcția DSUM.

Utilizând funcția DSUM, puteți să sumați celulele după intervalul pe care îl specificați. Funcția DSUM este mult mai eficientă decât formula matrice sau funcția SUMPRODUCT. Deși setarea durează mai mult, acesta este cazul când este greu de învățat, este ușor de luptat.

Articole similare