Как подсчитать строки с данными в листе Excel? - PullRequest
11 голосов
/ 29 июля 2011

Я пытаюсь подсчитать количество строк в электронной таблице, которые содержат хотя бы одно непустое значение в нескольких столбцах: т.е.

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

Формула будет равна 3, потому что строки 1,2, & 3 имеют текстовое значение как минимум в одном столбце.Точно так же, если строка 1 имеет текстовое значение в каждом столбце (A, B и C), это будет считаться как 1.

Ответы [ 6 ]

16 голосов
/ 29 июля 2011

С формулами вы можете:

  • в новом столбце (скажем, столбец D - ячейка D2), добавить =COUNTA(A2:C2)
  • перетащить эту формулу доконец ваших данных (скажем, ячейка D4 в нашем примере)
  • добавьте последнюю формулу для ее суммирования (например, в ячейке D5): =SUM(D2:D4)
2 голосов
/ 04 декабря 2015

Если вам нужен простой однострочник, который сделает все за вас (при условии, что вы не имеете в виду значения, вы подразумеваете пустую ячейку):

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

Если под значением не подразумевается, что ячейка содержит 0

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

Формула работает, сначала суммируя все строки в столбцах A, B и C (если вам нужно подсчитать больше строк, просто увеличьте столбцы в диапазоне. Например, ROWS(A:A) + ROWS(B:B) + ROWS(C:C) + ROWS(D:D) + ... + ROWS(Z:Z)).

Затем в формуле подсчитывается количество пустых значений в том же диапазоне (или 0 во втором примере).

И наконец, формула вычитает общее количество ячеек без значенияот общего количества рядов.Это оставляет вас с количеством ячеек в каждой строке, которые содержат значение

1 голос
/ 29 июля 2011

Если вы не против VBA, вот функция, которая сделает это за вас.Ваш вызов будет выглядеть примерно так:

=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

Как это работает: я использую тот факт, что существует ограничение в 256 строк.Формула таблицы CountBlank подскажет, сколько ячеек в строке пусто.Если в строке нет ячеек со значениями, то это будет 256. Поэтому я просто минус 256, а если это не 0, то я знаю, что где-то есть ячейка, которая имеет какое-то значение.

0 голосов
/ 29 октября 2015

Это то, что я наконец-то придумал, и это прекрасно работает!

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

Не забывайте, так как это массив для ввода приведенной выше формулы без "{}", и нажмите CTRL + SHIFT + ENTER вместо просто ENTER, чтобы появилось" {} "и правильно его введите.

0 голосов
/ 13 декабря 2012

Вы должны использовать функцию sumif в Excel:

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

Эта функция принимает диапазон, подобный этому квадрату A5: C10, тогда у вас есть текст, чтобы найти этот текст вA или B, тогда он добавит число из C-ряда.

0 голосов
/ 29 апреля 2012

Попробуйте этот сценарий:

Array = A1:C7.A1-A3 имеют значения, B2-B6 имеют значение и C1, C3 и C6 имеют значения.

Чтобы подсчитать количество строк, добавьте столбец D (вы можете скрыть его после настройки формул) и в D1 введите формулу =If(Sum(A1:C1)>0,1,0).Скопируйте формулу с D1 до D7 (для тех, кто ищет, кто не является высококвалифицированным, числа в формуле суммы изменится на строку, в которой вы находитесь, и это нормально).

Теперь в C8 создайте формулу суммы, которая складывает столбец D, и ответ должен быть 6.В визуально приятных целях скрыть колонку D.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...