比较2个excel文件

时间:2015-03-31 22:16:23

标签: excel vba

我有两个非常庞大的Excel文档。

以下只是其中的数据样本。

文件1包含:

base_id
bd9ce21c-bc57-4e21-adf9a9693cbc
5b0a3d79-ff6a-41fd-a28aa6a92164
b7d80042-1fcf-4661-21d7dd5b1fbd
B211B098-0544-4CDF-A2F93EAD22A4
4FB55FE5-AE6A-425F-8B31E345181A

文件2包含:

path_id                   gate_no count text_id
54ecfc619d1333b86a3a9cd9    3816    0   {"abcd":"50C53378-5833-4827-9C2F-3211D3F42F13"  abcd_tub:"831e590de0cc185248f4208fc5d5ee89d2d"  abcd_cub:"1537fe51004bae1e71480b154372"}
54ecfc619d1333b86a3a9cd9    3005    0   {"bolt":"66db1807f1e4a072744a77fd8429b5"    mega:"a1cd73b41d6b3eae97dbbdd76e323a44ab5140"}  
54ecfc619d1333b86a3a9cd9    2595    0   {"bolt":"c58634ccdcb5e81eb0b447679b756" mega:"32b74bf7024944b457c69c000e44d43"} 
54ecfc619d1333b86a3a9cd9    2220    0   {"bolt":"acf98549461b87bcfe2c5190d6c"   mega:"2c1c788440d85ea70597ce135ccf2316748f"}    
54ecfc619d1333b86a3a9cd9    2160    0   {"abcd":"16F8E7-F395-4551-B8C7-5FC8B"   abcd_tub:"a5301e4dfc6bad809a2917f495fc6f7"  abcd_cub:"4e5da03ffb35a0f17726acb60c8dc"}

我需要做的是:

检查文档1中的base_id是否存在于文档2的任何行中。

如果存在,请获取base_id列和行

如果它不存在,请仅获取base_ids列表。

在EXCEL中进行上述比较的最佳方法是什么? 如果不是excel,是否有我可以查看的示例脚本示例?

感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:1)

我假设你的文件看起来与问题完全一样(它们可以有逗号而不是标签 - 但它们需要是文本的,而不是Excel格式的。)

效率并不高,但如果文件不长,那就无所谓了 希望我理解你正在努力实现的目标:

#!/bin/bash

set -e

file1="file1"
file2="file2"

for id in $(tail -n+2 "${file1}"); do
    if ! grep "${id}" "${file2}"; then
        echo "${id}"
    fi
done

顺便说一下,在你的例子中,file2中没有base_id