匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

パソコンOS windows10 テキストファイルの編集(部分編集を楽にする方法)見出しと内容が連続するデータの見出しだけを抜き出して編集したいのですが、抜き出した見出しを編集すると、


内容が変更される(同期や保存できる)もの、
何かしらの方法はあるでしょうか?
※大量にある見出しのカラム、桁を合わせたい

----------------------
【見出し】サンプル1 商品A
内容 ああああああ
内容 いいいいいい
【見出し】サンプル2 .....商品B
内容 ううう
内容 えええええ
----------------------
上記の内容の見出しだけを抜き出し(編集しやすいようにするため)
【見出し】サンプル1 商品A
【見出し】サンプル2 .....商品B

【見出し】サンプル1 商品A
【見出し】サンプル2 商品B ←※カラムを上と合わせるように修正

と変更すると、本文も変更される(同時、同期、もしくは、保存みたいな操作で反映)

と言った事ができる何らかの、操作方法、アプリ、ツール、コマンド等、
ありますでしょうか?

ps。
アウトライン表示や、画面分割、Grepによる抜き出しなど試してみましたが、
もうひと押し何かあればと思いまして。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2019/02/19 10:50:37
  • 終了:2019/02/21 02:13:34

ベストアンサー

匿名回答2号 No.2

匿名回答2号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2019/02/20 23:28:41

Excelのフィルターを利用すれば良いと考えるけど、何か質問意図が通じてないかもだが。
手順としては、以下のようなもの。
(1) 対象のテキストファイルをExcelワークシートに読み込む
( txtファイルを単純にオープンする)
  ⇒A列に読み込まれる
(2) 先頭1行目に1行分の挿入を行う。(フィルター機能の見出し行に相当させる)
(3) A列全体を選択した状態でオートフィルター機能をオンにする
(4) フィルター指定で、『"【"で始まる』の指定を行う
 (テキストフィルターの”指定の値で始まる”の指定で行う)
これで見出し部分のみが表示された状態になるので
(5) 見出しのデータに対して必要な編集を行い、

編集が終了したなら、
(6) 1行目のデータを削除して
(7) 元のファイルに書き戻す(上書き保存)

以上は、エクセルの手操作により行うことが出来るものですが、
定型的にしたいならばVBAを構成すればいいです。
VBAならいろいろに構成できるけど、
単に上記の手作業の手順を補助する程度のものなら次のような構成で可能でしょう。
別途マクロブックを用意し、次の、『txtファイル読み込み』と『txtファイル書き戻し』の2つのVBAマクロをVBエディターで登録し、
マクロ起動から起動する。


Sub txtファイル読み込み()
Dim myFilePath
myFilePath = Application.GetOpenFilename("Text Files (*.txt), *.txt")
'myFilePath = "C:\temp\見出しサンプル商品.txt" ' 上の代わりにこのような指定でも可
Workbooks.OpenText Filename:=myFilePath
Rows(1).Insert
Columns(1).AutoFilter
ActiveSheet.Columns(1).AutoFilter Field:=1, Criteria1:="=【*"
Cells(1) = myFilePath
End Sub

Sub txtファイル書き戻し()
Rows(1).Delete
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

マクロ起動のオプションでショートカットキーの設定を行えば、操作はもっと簡単になる。
Excel2016で確認してるが、多分どのバージョンでもOKと思う。
ただし、『txtファイル書き戻し』は上書き更新されるし、ActiveWorkbookに対して行われることに注意。
-以上-

その他の回答(1件)

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2019/02/19 21:17:58

元となるデータファイルのフォーマットを変えてもいいのであれば、
元データをTSVに変換して保存してから
Excelで開いて、フィルターをかける

匿名質問者

ありがとうございます。
元のデータが変えられないので、良い方法はないかと検討しております。

2019/02/20 21:11:02
匿名回答2号 No.2

匿名回答2号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2019/02/20 23:28:41ここでベストアンサー

Excelのフィルターを利用すれば良いと考えるけど、何か質問意図が通じてないかもだが。
手順としては、以下のようなもの。
(1) 対象のテキストファイルをExcelワークシートに読み込む
( txtファイルを単純にオープンする)
  ⇒A列に読み込まれる
(2) 先頭1行目に1行分の挿入を行う。(フィルター機能の見出し行に相当させる)
(3) A列全体を選択した状態でオートフィルター機能をオンにする
(4) フィルター指定で、『"【"で始まる』の指定を行う
 (テキストフィルターの”指定の値で始まる”の指定で行う)
これで見出し部分のみが表示された状態になるので
(5) 見出しのデータに対して必要な編集を行い、

編集が終了したなら、
(6) 1行目のデータを削除して
(7) 元のファイルに書き戻す(上書き保存)

以上は、エクセルの手操作により行うことが出来るものですが、
定型的にしたいならばVBAを構成すればいいです。
VBAならいろいろに構成できるけど、
単に上記の手作業の手順を補助する程度のものなら次のような構成で可能でしょう。
別途マクロブックを用意し、次の、『txtファイル読み込み』と『txtファイル書き戻し』の2つのVBAマクロをVBエディターで登録し、
マクロ起動から起動する。


Sub txtファイル読み込み()
Dim myFilePath
myFilePath = Application.GetOpenFilename("Text Files (*.txt), *.txt")
'myFilePath = "C:\temp\見出しサンプル商品.txt" ' 上の代わりにこのような指定でも可
Workbooks.OpenText Filename:=myFilePath
Rows(1).Insert
Columns(1).AutoFilter
ActiveSheet.Columns(1).AutoFilter Field:=1, Criteria1:="=【*"
Cells(1) = myFilePath
End Sub

Sub txtファイル書き戻し()
Rows(1).Delete
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

マクロ起動のオプションでショートカットキーの設定を行えば、操作はもっと簡単になる。
Excel2016で確認してるが、多分どのバージョンでもOKと思う。
ただし、『txtファイル書き戻し』は上書き更新されるし、ActiveWorkbookに対して行われることに注意。
-以上-

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません