- 締切済み
VB ログファイルからデータを時間毎に取得したい
VBでログファイルからデータを1行ずつ読み取り、 1時間毎と1秒毎の件数を取得したいです。 ログファイルは下記のように数千行のデータが存在します。 1 | 20140306 07:12:34 , TEST_A , AAA , 001 2 | 20140306 07:12:34 , TEST_A , BBB , 001 3 | 20140306 07:15:01 , TEST_A , BBB , 001 4 | 20140306 08:12:34 , TEST_B , CCC , 002 5 | 20140306 08:20:30 , TEST_A , CCC , 002 6 | 20140306 08:20:30 , TEST_A , CCC , 002 7 | 20140306 08:20:30 , TEST_A , CCC , 002 8 | 20140306 09:12:33 , TEST_A , AAA , 003 9 | 20140306 10:15:47 , TEST_A , BBB , 004 10 | 20140306 10:15:47 , TEST_B , BBB , 004 ・ ・ ・ 条件は、データに「TEST_A」と言う文字列が含まれている事です。 この場合、まず1時間毎の件数を取得して 指定のセルに表示させます。 7:00 | 3 8:00 | 3 9:00 | 1 10:00| 1 そして、その時間毎の秒間最大件数を取得して 指定のセルの表示させたいです。 7:00 | 2 8:00 | 3 9:00 | 1 10:00| 1 何卒、よろしくお願いいたします。
- karashi_0211
- お礼率0% (0/1)
- Visual Basic
- 回答数1
- ありがとう数2
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mitarashi
- ベストアンサー率59% (574/965)
ご自分で取り組んだ努力のあとを見せていただかないと、回答が付きにくいですね。 Accessで、テキストファイルにリンクするか、インポートしてクエリを作成すれば、10分もかからずに実現できると思います。 (クエリのデザインビューで出来ますというか、当方それしか出来ない) ADOなりDAOを用いればVBAでも可能ですが、 >時間毎の秒間最大件数 の方はクエリが2段階になりますので、VBAでやる場合には一旦MDBなりに変換しないと難しいと思います。 (テーブルの代わりに第一段階のクエリの結果をテキストファイルに書き出して、それを第二段階のクエリで処理する方法も考えられますが) 下記の様な式で時間を取り出して、グループ化してみました。日内のデータを前提に、年月日は気にしていません。 式1: Format(Hour(TimeValue(Mid([フィールド1],10,8)))/24,"時刻 (S)") 下記でも十分ですね。 式1: Format(Val(Mid([フィールド1],10,2))/24,"時刻 (S)") Accessが使える環境にあり、ご興味があればお知らせ下さい。
関連するQ&A
- CSVファイルの指定部分をエクセルに取り込みたい
複数のCSVファイルをエクセルに、VBAを使用して取り込みます。 CSVファイルの形式は決まっているのですが、キーワード行から指定行分のみを取り込みたいです。 データ形式は、 A1 aaa bbb ccc B1 aaa bbb ccc C1 aaa bbb ccc A1 a1a b1b c1c : : という感じで、キーワードA1行以下から次のキーワードより上のデータをエクセルに取り込みたいです。 どうぞよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- ファイルから指定行数分だけ読み込む
あるファイルに下記のようにタブで区切られた、ログのようなファイルがあった場合。 aaa test 1 bbb test 2 ccc test 3 ・ ・ ・ このログの1行目~30行目まで1行ずつGETしたい場合や、30行目~60行目までGETしたい場合はどのようにしたらいいのでしょうか?? 30行ずつ配列にいれこんだあとに、表示させようと思ったのですが、手間がかかりそうなので。。 grepでもこのように行数を指定できるやり方があればいいのですが。。。
- ベストアンサー
- PHP
- 一覧表よりデータ条件抽出
教えてください。 下記データ表があります。 A B C 1 12/1 AAA 94.1% 2 12/2 BBB 95.6% 3 12/2 BBB (空白) 4 12/3 CCC 97.3% 5 12/4 DDD 98.4% 6 12/5 EEE 97.3% ・したいこと条件説明 12/2~12/4のデータのみを抽出 %の(空白)セル(行)は抽出しない 日付(A列)は表示しない ・表示結果 A B 1 BBB 95.6% 2 CCC 97.3% 3 DDD 98.4% としたいのですが・・・ いろいろ試してみましたが、うまくいきません。 よろしく、ご教授のほどお願いします。
- ベストアンサー
- オフィス系ソフト
- 1つのセルに1つ以上のデータが入っている時のカウントの仕方
こんばんは、過去の質問を検索してみたのですが、うまくひっかからないので、どなたか教えて頂けないでしょうか。 例えば、ひとつのセルに:で区切られた1つ以上のデータが入っている時のカウント方法を知りたいのです。 <例> AAA:BBB:CCC AAA BBB:CCC BBB の場合なら AAAは2 BBBは3 CCCは2 とカウントできるようにしたいのです。 =countif(A1:A100,"BBB") →A1~A100がデータ範囲 とやってみましたが、4行目のように 単数で入っているものしか数えられない ようで1しか返って来ません。 (1行目や3行目をカウントできないみたいです。) すみません…よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 他のExcelファイルのデータを、抽出して表示
あるフォルダにあるExcelファイルのデータの中から、特定のデータだけ持ってくるマクロを考えています。 持ってくる側のExcelファイルのデータは A B C -------------------------- 1| AAA 123 あいう … 2| AAA 456 えお … 3| BBB 789 あいう … 4| CCC 012 あいう … という風になっており、A列の単語で指定して、B列のデータを持ってくる…というマクロです。 ("AAA"という単語で指定した場合、"123"と"456"のデータが抽出される) Excelデータの場所と、単語は入力して指定できるようにしたいです。 ご教示頂けると幸いです。
- 締切済み
- オフィス系ソフト
- データ取得
name*****key1****key2****date ------------------------------- AAA*******1*******1*****2003/01 BBB*******2*******2*****2002/12 AAA*******1*******2*****2003/01 BBB*******1*******2*****2002/11 BBB*******2*******2*****2002/11 AAA*******2*******2*****2003/01 AAA*******2*******2*****2002/12 ------------------------------- (※全てのフィールドが同じ情報のレコードはない) ****は意味はありません。表を見やすくするために書いただけです。 上記のテーブルから下記のデータを取得したいと 考えています。 AAA*****2002/12*****1 AAA*****2003/01*****3 BBB*****2002/11*****2 BBB*****2002/12*****1 name列とdate列の重複しないレコードの件数を取得したいのですが どのようなSQLを記述すればよろしいでしょうか?
- ベストアンサー
- その他(データベース)
- ファイルのデーター削除
下記のデーターが入っているabc.txtのファイルから 初めの2行を削除したいのですがよろしくお願いします。 10,aaa,100 11,bbb,200 12,ccc,200 13,ddd,300
- 締切済み
- PHP
- XMLからデータを取得
いつもお世話になっております。 XMLファイルに含まれたデータの中から、特定のデータを検索するプログラムを作りたいと思っております。 <AAA Name="テスト"> <BBB x="2" y="2"></BBB> <CCC Num="0001"></CCC> <CCC Num="0002"></CCC> </AAA> XMLデータの形式は↑みたいな感じで、これが100以上あり、CCCタグは0~5個までです。 フォームにテキストボックスを配置し、そこに検索したい語句を入れ、 AAAタグのNameの中身と合致したら、BBB、CCCの属性をすべて取得して表示するということをしたいのですが、 どうにも上手くいきません。 VB2008を使用しております。 方法をご存知の方、ご教授ください……orz
- ベストアンサー
- Visual Basic
- XSLTでtest.xmlファイルのccc要素の値を取得する場合は以下
XSLTでtest.xmlファイルのccc要素の値を取得する場合は以下(1)、(2)のようにやればいいのですが、(2)の箇所のパス(testを)動的(可変)にすることはできるのでしょうか? (1)document関数によりxmlファイルを変数に格納 <xsl:variable name="aaa" select="document('test.xml')"/> (2)上記変数からパスを指定して値を取得 <xsl:variable name="bbb" select="$aaa/test/ccc"/> test.xml <test> <ccc>bbb</ccc> </test> 例)以下は間違ってると思いますがパスに変数を使用して値を取得することは可能でしょうか? <xsl:variable name="ccc" select="'test'"/> // 変数cccにtestという文字列を格納 <xsl:variable name="bbb" select="$aaa/$ccc/ccc"/> //test/cccがパスのつもり
- 締切済み
- XML
- エクセル、複数行のデータを別シートに集計するには?
複数行のデータを別シートに、伝票番号別、品名別に反映させるにはどのような関数にすればいいですか? 例えば、 [シート1] 伝票番号 品名 数量 aaa りんご 50 aaa バナナ 30 aaa もも 15 bbb バナナ 20 bbb りんご 33 ccc りんご 10 ccc バナナ 40 [シート2] A B C D 1 aaa bbb ccc 2 りんご 50 33 10 3 バナナ 30 20 40 4 もも 15 [シート1]の様なデータがあり、それを[シート2]のセルB1に伝票番号を入力したらセルB2、B3...と数量が反映するようにしたいです。 わかりづらくてすいません。 どなたかわかる方がいらしたらお願いします。
- ベストアンサー
- オフィス系ソフト