【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?

arrayAAAにSQLサーバから抽出したデータが格納されています。
(1~10列)

項番 - ユーザID - 日付 - 記録時間  … 
1 ----- 10 ----- 8/1 ----- 7/31 23:59
2 ----- 10 ----- 8/1 ----- 8/1 08:30
3 ----- 10 ----- 8/1 ----- 8/1 10:50
4 ----- 10 ----- 8/1 ----- 8/1 12:30
5 ----- 20 ----- 8/1 ----- 8/1 15:50
6 ----- 20 ----- 8/1 ----- 8/1 09:30
7 ----- 30 ----- 8/1 ----- 8/1 15:50
...

この中から、同じユーザID単位で記録時間の差の合計を求めたいのですが、
列の中のユーザ単位で抽出して計算する方法が分かりません。
arrayAAAの列「ユーザID」はどのように表記すればよいのでしょうか…?
「arrayAAA(1),arrayAAA(2)…」の様に列ごとに個別にアレイ名が割り振られるのでしょうか…?

A 回答 (2件)

こんにちは



>記録時間の差の合計を求めたい
意味がよくわかりませんが・・・

No1様もおっしゃっているように、エクセルのシートなどに一旦吐き出してしまえば、あとの処理が簡単になるのではないでしょうか?

arrayAAAが2次元配列として(ご質問文ではどちらが行でどちらが列なのか不明ですが)、
Range("A1").Resize(UBound(arrayAAA, 1), UBound(arrayAAA, 2)).Value = arrayAAA
のようにすることで、A1セルから表形式で代入できます。
(配列の添え字が1から始まるものと想定。0の場合は調整を)

なさりたい計算内容がわかりませんが、一旦シートに記入してしまえば、シート内の関数でも処理できちゃう内容なのかも知れませんね。
    • good
    • 0

多分、arrayAAAは二次元配列ですよね。


仮に ユーザーID(2列目)であれば
「arrayAAA(1,2),arrayAAA(2,2)…」ではないでしょうか。
と云うより、いったん全てをエクセルのシート上に書き出して
ピボットテーブルなどで集計した方が便利なような気がしますが。
    • good
    • 0
この回答へのお礼

ん~なるほどです!
ご回答有難うございます。

お礼日時:2017/08/06 21:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!