別のファイルの ID セットに基づいて、ファイルの最初の列のみを検索したいと思います。結果をコピーして別の出力ファイルに貼り付けます。
例えば 、
私の最初のファイルには
ABHA-PHY49M
ABHA-PHY49N
ABHA-PHY49O
2番目のファイルには
"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi,
Some mail contents1
Kind Regards,"
"ABHA-8RXIYY";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi,
Some mail contents2
Kind Regards,"
"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYCCC";"Hi,
Some mail contents3
Kind Regards,"
"ABHA-8RXIXX";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYDDD";"Hi,
Some mail contents4
Kind Regards,"
最初の列の値を持つ最初のファイルから ID に一致するすべての行を取得する必要があります。Verbatim というフィールドがあり、その内容はフリー テキストになる可能性があり、CR+LF などが含まれるため、Excel で開くと書式が崩れてしまうため、Excel は使用できません。これを実現するマクロを作成/記録できるかどうか知りたいです。私が思いつくのは、ID (file1 から取得) を検索し、最初の列を検索して選択範囲を拡張し、データをコピーすることだけです。これが可能かどうか、またその方法がわかりません。
上記の例では、IDにより2行だけが選択されます。ABHA-PHY49M
"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi,
Some mail contents1
Kind Regards,"
"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYCCC";"Hi,
Some mail contents3
Kind Regards,"
答え1
正規表現検索を試しましたか? 検索対象が間違いなく最初の列である場合は、次のようにするとうまくいくはずです:
^"ABHA-PHY49M".*$
- 最初の文字
^
により、行の先頭のみが検索されることが保証されます。 - リテラル文字は、
"ABHA-PHY49M"
探している文字列と一致します。 - 残りの文字には、
.*$
行の残りの部分全体が含まれます。
サンプルデータから取得した検索結果は正しいようです:
Search "^"ABHA-PHY49M".*$" (2 hits in 1 file)
new 5 (2 hits)
Line 1: "ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi, Some mail contents1 Kind Regards,"
Line 5: "ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYCCC";"Hi, Some mail contents3 Kind Regards,"
答え2
があるSQL プラグインCSV ファイルで SQL データベース コマンドを実行できます。この場合、クエリは次のようになります。
select * from data where id="abha-phy49m"
最初の列が「id」の場合(コマンドは大文字と小文字を区別しません)。これにより、現在のファイルから id が「abha-phy49m」であるすべての行が取得されます。
編集: 残念ながら出力テキストは小文字に変換されます