Excel - 用于比较/匹配两个工作表之间的行中的多个单元格的宏,并将整行复制到第二个工作表
我正在寻找宏来匹配两张纸之间的一行中的多个单元格,并将第一张纸中的整个匹配行复制到第二张纸中的匹配行旁边。
以下是我的 Excel 工作表的摘录:
工作表 A:
E F H J
2878 3/1/2011 Cash 1/3/2011_BSJ 636
工作表 B:
A C E F
50 1-Mar-11 DEP_CASH 636 TRAX_BRH_BSJ
例如,如果 F2878(第 2878 行,F 列), E2878、J2878、工作表 A 的 H2878 = 工作表 B 的 C50、A50、E50、F50,然后将工作表 A 的整个 2878 行复制到工作表 B 的 I50。然后删除工作表 A 中的 2878 行以指示该行已完成的工作。请注意,有些内容可能不完全相同,例如 F2878 包含“Cash”和“Cash”。 C50 包含“DEP_CASH”中的“CASH”,被视为匹配。我需要匹配 3000 多行。请帮忙...
i'm looking for macro to match multiple cells in a row between two sheets, and copy the entire matched row from the first sheet to place beside the matched row from the second sheet.
Below are excerpts of my excel worksheet:
worksheet A:
E F H J
2878 3/1/2011 Cash 1/3/2011_BSJ 636
worksheet B:
A C E F
50 1-Mar-11 DEP_CASH 636 TRAX_BRH_BSJ
For example if F2878 (row no. 2878, column F), E2878, J2878, H2878 of worksheet A = C50, A50, E50, F50 of worksheet B then copy whole 2878 row of worksheet A to I50 of worksheet B. Then strike through the 2878 row from worksheet A to indicate work done of a row. Note that some of the content might not exactly the same, like F2878 contains "Cash" & C50 contain "CASH" out of "DEP_CASH" which are considered matched. I need to match some 3000+ row. Please help...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题在于查找函数只考虑单个键列。
因此,我在类似问题上所做的就是使用一些公式添加一个键列,将关键部分与一些特殊字符连接起来,然后使用查找公式。
由于您必须在两侧创建匹配的键,因此您有机会在公式中
构建它们以统一文本。例如,使用大写字母以确保它们拼写相同。
或者只是从列中删除“现金”一词...
需要一些尝试和错误...但是正如您可以看到创建的密钥一样,您可以采用您的公式,直到它提供预期结果。
(根据匹配逻辑的复杂程度,能够处理正则表达式的东西可能会有所帮助,例如 Ruby,它非常适合“远程控制”Excel。)
The problem is that the lookup-functions do only consider a single key column.
So what I did on a similar problem is to add a single key column using some formula to concatenate the key parts with some special character, and then use a lookup-formula.
As you have to create matching keys on both sides, you have a chance in the formulas
building them to unify the texts. E.g. use uppercase to make sure they are spelled the same.
Or just cut the word CASH out of a column...
Takes some trial and error... but as you can see the keys created, you can adopt your formula until it delivers the expected results.
(Depending on how complicated your matching logic is, something capable of handling regular expressions might help, e.g. Ruby, which is great at "remote controlling" Excel.)