痔になりやすい生活習慣とは?

以前同じ件で質問投稿しましたが、当初の質問状況から変わってしまったため、内容の整理のため再度投稿しました。

事情により元のlogやその他生データを張ることができませんが、近いものを作成しましたので添付します。

添付の画像は元のlogデータよりgrepで出力したabc.txt、ghi.txt、opq.txtの3つのtextファイルと
完成形のExcel画面です。
この3つの.txtを元にExcel出力したいとおもいます。

[3つのtextファイルについて]
サクラエディタよりキーワードで該当の1行をgrepしてます。
保存先はgrepの時点で選択できるので任意の場所へ保存できます。
ファイル内容は日付毎に1行、日付順で記述されています。
画像のabc.txtを見ていただくとわかりますが、04/03の記述が無いように、logが取れない日付は記述がありません。その場合ExcelにはB11のように空白としたいです。
日付と時間がマッチしている必要があります。この点がもっとも難題です。

[Excelマクロについて]
一番の目的は作業の手順を少なくすることです。
処理の時間よりも作業を単純化させることが目的となっております。
実際のデータ量ですが、1ヶ月分で作成するつもりです。
MID、FIND等組み合わせることで抽出することは試しましたが、上記のlogが取れない日を空白にすること、3つの時間データをA行の日付とマッチさせることができませんでした。

アドバイス、構文の例などいただけますでしょうか。

「3つのtextファイルから特定の日時時刻」の質問画像

質問者からの補足コメント

  • textファイル

    「3つのtextファイルから特定の日時時刻」の補足画像1
      補足日時:2019/08/08 14:40
  • textファイル

    「3つのtextファイルから特定の日時時刻」の補足画像2
      補足日時:2019/08/08 14:41
  • 完成形Excel

    「3つのtextファイルから特定の日時時刻」の補足画像3
      補足日時:2019/08/08 14:42
  • うーん・・・

    前回ご回答いただきありがとうございました。
    ご教授いただいた方法試してみました。

    私の説明がうまくできていなかったためですが1点だけ…。
    logが取れない日付というのは、
    textファイルの画像のように、grepで引っかからないため1行そのものがございません。
    そして3つのtextファイルを見比べるとわかるのですが、abc.txtでは4/3のlogがなく、opq.txtでは4/5のlogがないといったように、logがない日はtextファイルごとに異なっています。

    実際に例として実行した図をアップロードします。
    G3は空白にしたいのですがずれて入ってしまいます。

    こちらの件、関数式で解決できますでしょうか…

    「3つのtextファイルから特定の日時時刻」の補足画像4
    No.1の回答に寄せられた補足コメントです。 補足日時:2019/08/08 17:36

A 回答 (3件)

No1です。



規則性がいろいろ変わっているようなので、はっきりとはわかりませんが、補足に添付の図を拝見すると、D列に元のファイルの種別が記されていいるように見えます。
(図がぼやけているので、確信は持てませんが・・・)

もしそうであるなら、日にちのピックアップに関しては前回同様に全データから行えば抽出できるのは同じです。
時刻のデータはもっと簡単になっていて、D列の値とG~I列の対応関係を利用して、これを抽出条件に加えれば良いでしょう。
前回回答では、同日のデータ(時刻)は出現順に左詰めするようにしていましたが、列は決まっているので「左詰め」の処理が不要になることでしょう。

ファイル数が増えたようなので、その分だけファイルを扱う手間が増えるので、その手間も省きたいのであれば、マクロ等によるのも宜しいかと。
    • good
    • 0
この回答へのお礼

御推測のとおり、D列は種別が記されているため時刻の抽出の条件に使えますね…!考えてみます!

シートのテンプレートさえ作れば、ファイルのインポートをマクロで実行するだけで完結しそうなので手順という点でも問題なさそうです。

もう少し調整してみます。
ありがとうございます!

お礼日時:2019/08/09 17:14

前回の回答者です。

やっと書いたと思いましたら、新しい質問が出ていましたが、お忙しい方には、現在の私のペースでは追いつかないかもしれしません。いえ、たぶん、追いつきません。今回は特別ですから。

元のデータから一つで引き出す方法ですから、私が考えたのは、3つのテキストファイルから引っぱるものではありません。Grepそのものの役目を、VBAでさせてしまうと考えました。

今、ざっとここを読んで考えましたが、4月なら4月は、データに依存することなく、最初から、1ヶ月分の日付を出して、データを貼り付ける方法のほうが良いかもしれません。
    • good
    • 0
この回答へのお礼

お返事遅くなりまして申し訳ないです...
前回の回答みました。私の説明不足のため混乱させてしまいました。すみません。
作っていただいたコードにあった状況で作動させたところ無事作動しました!また細かい点まで考慮された動作で感動いたしました!
前回の投稿でベストアンサーとさせていただきました。

今回はおっしゃるとおりデータを貼り付ける方法でやっていこうと思います。
熟考いただき大変にありがとうございました。

お礼日時:2019/08/16 11:28

こんにちは



前回のご質問に回答したと記憶していますが・・・
 1)txtファイルをエクセルから直接 空白区切りで読み込み
 2)データを、あらかじめ関数式をセットしてあるシートへコピペ

・・・で、算出するのでは、まだ手間がかかりすぎなのでしょうか?
https://oshiete.goo.ne.jp/qa/11238184.html
この回答への補足あり
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング