2011-07-28 7 views
11

Próbuję policzyć liczbę wierszy w arkuszu kalkulacyjnym, które zawierają co najmniej jedną wartość niż pusta w ciągu kilku kolumnach: tjJak zliczyć wiersze z danymi w arkuszu Excela?

row 1 has a text value in column A 
row 2 has a text value in column B 
row 3 has a text value in column C 
row 4 has no values in A, B or C 

Formuła byłoby przyrównać do 3, bo wierszach 1, 2, & 3 mają wartość tekstową w co najmniej jednej kolumnie. Podobnie, jeśli wiersz 1 ma wartość tekstową w każdej kolumnie (A, B, & C), zostanie to policzone jako 1.

Odpowiedz

1

Jeśli nie masz nic przeciwko VBA, oto funkcja, która zrobi to za Ciebie. Rozmowa będzie coś takiego:

=CountRows(1:10) 
Function CountRows(ByVal range As range) As Long 

Application.ScreenUpdating = False 
Dim row As range 
Dim count As Long 

For Each row In range.Rows 
    If (Application.WorksheetFunction.CountBlank(row)) - 256 <> 0 Then 
     count = count + 1 
    End If 
Next 

CountRows = count 
Application.ScreenUpdating = True 

End Function 

Jak to działa: Jestem wykorzystując fakt, że istnieje granica 256 wierszy. Formuła arkusza roboczego CountBlank powie Ci, ile komórek w wierszu jest pustych. Jeśli w wierszu nie ma komórek z wartościami, będzie to 256. Więc po prostu minus 256 i jeśli nie jest 0, to wiem, że gdzieś jest komórka, która ma jakąś wartość.

17

z formuł, co można zrobić, to:

  • w nowej kolumnie (powiedzmy kol D - komórka D2), dodać =COUNTA(A2:C2)
  • przeciągnij tę formułę do końca swoich danych (słownie komórek D4 w naszym przykładzie)
  • dodać ostatnią formułę Podsumowując (np w komórce D5): =SUM(D2:D4)
+3

+1, Kluczową funkcją jest tutaj COUNTA (uwaga na końcu), która zlicza komórki zawierające dane. –

+0

Dla każdego, kto nie zna liczby wierszy lub chce, aby była zmienna, po prostu wpisz w całej kolumnie: '= COUNTA (A: A)', zakładając, że kolumna zawiera tylko komórki, które chcesz policzyć i nic więcej. – TylerH

0

Spróbuj scenariusz:

Array = A1:C7. A1-A3 mają wartości, B2-B6 mają wartość i C1, C3 i C6 mają wartości.

Aby uzyskać liczbę rzędów, należy dodać kolumnę D (można ją ukryć po skonfigurowaniu formuł), aw D1 umieścić formułę =If(Sum(A1:C1)>0,1,0). Skopiuj formułę od D1 do D7 (w przypadku innych wyszukiwań, którzy nie są literatami excela, liczby w formule sumy zmienią się na wiersz, w którym się znajdujesz i to jest w porządku).

Teraz w C8 zrób formułę sumy, która dodaje kolumnę D, a odpowiedź powinna być 6. Dla celów wizualnych ukryj kolumnę D.

0

należy użyć funkcji SUMA.JEŻELI w Excelu:

=SUMIF(A5:C10;"Text_to_find";C5:C10)

Funkcja ta wykonuje szereg jak tego kwadratu A5: C10 wtedy masz jakiś tekst, aby znaleźć ten tekst może być w A lub B, a następnie go doda numer z rzędu C.

+0

Działa to tylko wtedy, gdy tekst jest zgodny. Co, jeśli osoba ma do czynienia tylko z unikalnymi e-mailami lub imionami? Lub po prostu próbuje znaleźć liczbę komórek zi bez niejednolitych danych? –

0

To właśnie wymyśliłem, co działa świetnie!

{=SUM(IF((ISTEXT('Worksheet Name!A:A))+(ISTEXT('CCSA Associates'!E:E)),1,0))-1}

Nie zapomnij ponieważ jest tablicą wpisać formułę powyżej bez „{}” oraz CTRL + SHIFT + ENTER, zamiast po prostu wpisać w „{}” pojawiają się i do poprawnego wpisania.

2

Jeśli chcesz prosty jedną wkładkę, która zrobi wszystko dla ciebie (zakładając, że przez nie wartości znaczy pustej komórki):

=(ROWS(A:A) + ROWS(B:B) + ROWS(C:C)) - COUNTIF(A:C, "") 

Jeśli przez nie wartości znaczy komórka zawiera 0

=(ROWS(A:A) + ROWS(B:B) + ROWS(C:C)) - COUNTIF(A:C, 0) 

Formuła działa przez zsumowanie wszystkich wierszy znajdujących się w kolumnach A, B i C (jeśli trzeba liczyć więcej wierszy, wystarczy zwiększyć kolumny w zakresie, np. ROWS(A:A) + ROWS(B:B) + ROWS(C:C) + ROWS(D:D) + ... + ROWS(Z:Z)).

Następnie formuła liczy liczbę wartości z tego samego zakresu, które są puste (lub 0 w drugim przykładzie).

Ostatnia formuła odejmuje całkowitą liczbę komórek bez wartości z całkowitej liczby wierszy. Pozostawia to liczbę komórek w każdym wierszu, które zawierają wartość