web-dev-qa-db-ja.com

Excelシートのデータで行をカウントするにはどうすればよいですか?

スプレッドシートで、いくつかの列にわたって少なくとも1つの非空白値を含む行の数を数えようとしています。

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

行1、2、および3には少なくとも1つの列にテキスト値があるため、式は3になります。同様に、行1の各列にテキスト値(A、B、C)がある場合、これは1としてカウントされます。

11
David

数式を使用すると、次のことができます。

  • 新しい列(col D-セル_D2_など)に=COUNTA(A2:C2)を追加します
  • この式をデータの最後までドラッグします(この例では、セル_D4_と言います)
  • 最後の数式を追加して合計します(例:セル_D5_):=SUM(D2:D4)
16
JMax

あなたのためにそれをすべて行うシンプルなワンライナーが必要な場合(値がないと仮定すると、空白のセルを意味します):

_=(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))。

次に、同じ範囲内の空白の値(または2番目の例では0)の値の数を計算します。

最後に、式は、行の総数から値のないセルの総数を引きます。これにより、値を含む各行のセルの数が残ります

2
Jason McKindly

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でない場合、値のあるセルがどこかにあることがわかります。

1
aevanko

このシナリオを試してください:

配列= _A1:C7_。 _A1-A3_には値があり、_B2-B6_には値があり、_C1_、_C3_および_C6_には値があります。

行数のカウントを取得するには、列D(式の設定後に非表示にできます)を追加し、_D1_ put formula =If(Sum(A1:C1)>0,1,0)を追加します。数式を_D1_から_D7_にコピーします(Excelの知識がない人を検索する場合、合計数式の数値は現在の行に変更されますが、これで問題ありません)。

ここで_C8_でD列を合計する合計式を作成すると、答えは_6_になります。視覚的に快適にするために、列Dを非表示にします。

0
Mike Feeney

これは私がついに思いついたものであり、素晴らしい作品です!

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

「{}」なしで上記の式を入力する配列であり、「{}」を表示して適切に入力するために、単にEnterの代わりにCTRL + SHIFT + ENTERする配列であるため、忘れないでください。

0
Tanima

Excelでsumif関数を使用する必要があります。

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

この関数は、この正方形A5:C10のような範囲を取り、このテキストがAまたはBにあることを確認するためのテキストがあれば、C行から数値を追加します。