1

こんにちは、複数の値に基づいてカウントおよびグループ化する必要があるスプレッドシートがあります。以下の例を使用すると、Shipper - Shipper city、Recipient、および Recipient city がすべて同じ場合にのみ行をカウントする必要があります。それ以外の場合は、新しいエントリを作成するために必要です。

カウントに加えて、可能であればピボット テーブルを使用するのではなく、プログラムで実行する必要があります。これは、SQL DB から頻繁に更新され、ボタンを介してさまざまなユーザーによって制御されるためです。ここでデータを取得するために VBA を使用しましたが、並べ替え/グループ化を進める方法がわかりません。

ネストされた条件付きで for ループを試しましたが、VBA は初めてなので、ほとんど成功していません。

テーブルの現在の外観。

# - Shipper - City -  Recipient - City     -   Bool
1   Bob       L.A.    Jenny      Las Vegas    True
2   Bob       L.A.    Jenny      Las Vegas    False
3   Bob       L.A.    Jenny      Portland     True
4   Bob       L.A     Jenny      Orem         True
5   Bob       L.A     Jenny      Orem         True
6   Sam       L.A     Jenny      Portland     True
7   Sam       L.A     Jenny      Portland     True
8   Sam       L.A     Jenny      Reno         False
9   Sam       L.A     Jenny      Reno         False

最終結果は新しいシートにあるはずです。

# - Shipper - City -  Recipient - City     -   Count - Bool
1   Bob       L.A.    Jenny      Las Vegas      2     50%
2   Bob       L.A.    Jenny      Portland       1     100%
3   Bob       L.A.    Jenny      Orem           2     100%
4   Sam       L.A     Jenny      Portland       2     100%
5   Sam       L.A     Jenny      Reno           2     0%
4

2 に答える 2

1

たとえば、SUMPRODUCT関数を使用できます

=SUMPRODUCT((A1:A500="Bob")*(B1:B500="L.A")*(D1:D500="Las Vegas")*1)

ピボットテーブルも良いオプションです...

[]の

于 2013-04-24T21:11:07.110 に答える