0

姓が 1 行、名が 1 行の Excel 2010 ブックがあります。約1800件のエントリーがあります。

同じ人物 (名字) が複数回出現する可能性があります。ジム・スミスは 5 回出現します。ジム・シムスがリストに表示される回数の頻度をカウントしたいと思います。

を使用=COUNTIF($B$2:$B$1800,B2)しましBた。 は姓です。問題は、名前が別の列にあるためにカウントされるリストに他の Smiths があることです。姓が同じである可能性のある各個人の頻度をカウントする方法を知っている人はいますか?

4

3 に答える 3

2

=COUNTIFS($B$2:$B$1800,B2,$A$2:$A$1800,A2)

于 2013-08-30T03:49:56.770 に答える
0

おそらくやり過ぎですが、ワークシートへの ADODB 接続を作成できます。

Dim conn As New Connection
With conn
    .Provider = "Microsoft.ACE.OLEDB.12.0"
    .ConnectionString = "Data Source=""" & ActiveWorkbook.FullName & """;" & _
        "Extended Properties=""Excel 12.0;HDR=No;"""
    'If you're running a version of Excel earlier than 2007, the connection string should look like this:
    '.ConnectionString = "Data Source=""" & ActiveWorkbook.FullName & """;" & _
    '    "Extended Properties=""Excel 8.0;HDR=No;"""
    .Open
End With

次に、ワークシートに対して SQL ステートメントを発行できます。

Dim rs As Recordset
Set rs = conn.Execute( _
    "SELECT F2 AS LastName, F1 AS FirstName, Count(*) AS C " & _
    "FROM [Sheet1$A$2:$B$1800] " & _
    "GROUP BY F2, F1" _
)
于 2013-08-30T05:35:53.233 に答える
0

私はこれをテストしていませんが、あなたのCOUNTIF式が機能すると仮定しています。

新しい列ではCONCATENATE、列内の文字列を実行できますCOUNTIF

Aそれが名でBあり姓であると仮定すると、次のCようなものになります。

=CONCATENATE(A2, " ", B2)

そして、そのCOUNTIF上で次のことを行います。

=COUNTIF($C2:$C1800,$C2)

Cオプションで、表示したくない場合は列を非表示にすることができます。

于 2013-08-30T03:50:46.127 に答える