查看原文
其他

巧用Vlookup、If、Or等函数解决数据合并问题

江伟 职业译员玩转翻译技术
2024-09-09

哈,看了这个题目,千万别以为我是搞大数据的。我就是一介翻译匠,只不过想方设法让自己的工作不那么繁重罢了!


上周进行一个软件界面的翻译工作,因为缺少上下文,所以在在客户发来的字串列表(一个Excel文件)中单起了一列,针对一些需要客户提供上下文或进行进一步解释的子串提了一些问题。客户今天发来了回复(新加了一列),就像这样:


对照这个回复,修改我的译文,是没问题的。但我现在的所有翻译项目,都是用memoQ完成的。这个CAT软件支持导出和导入双语表格形式的RTF文件,其中就包含一个“注释”(Comment)列,像这样:


本来,我可以在这个导出格式中提出我的那些问题的,但为了客户查看方便,我最终还是选择在客户的原始Excel文件中提问(这在某种程度上也体现了“奥卡姆剃刀”原则)。现在问题来了,如何将我的问题以及客户的答复合并,放在我那个双语格式呢?


第一个直觉就是,复制粘贴,对吧。挨个粘贴?太繁琐。整列粘贴?因为有句段有拆分(或合并)现象,所以两个文件的行数并不相等,粘贴后进行调整,也有点繁琐。身为懂技术的翻译匠,是绝不能靠蛮力做事情的。巧用Excel的一些函数(功能),就能轻松搞定!


首先,在Excel中,点击左下角的带圆圈加号,添加一个表,可以命名为“双列”,将上面那个双语RTF复制粘贴到这个新表,像这样:


 在客户那个表中找到一个带注释的行,然后在这个“双列”表中找到那一行,将光标放在Comment列中相应的单元格(比如C5)。录入=vlookup,然后点击左上的fx按钮,就会出现带提示的录入框:


为第一个参数,在当前这个表选中原文单元格,即A5。为第二个参数,在客户那个表,选中原文、问题和答复列,即E:G。为第三个参数,录入3(意思是我想要的是第3列的,即“答复”)。为第四个参数,录入False,意思是精确匹配,像这样:


按“OK”,你就会看到那个公式显示为具体结果,也就是客户答复:


 是不是很神奇,哈!如果你还想把你当初的问题也取过来,那就照猫画虎,在旁边再弄一列,并且套用之前的做法,只不过这次是把第三个参数的3改为2:


如果想把问题和答复合并在一个单元呢?简单,用 & 这个把相关内容合并一下就行:


 对这一行的操作满意之后,只需将新增的这三个单元格全部选中,复制粘贴到其他所有相应行的相应位置:


 可以看到,各行的问题和答复都显示出来了。但很明显有个问题,那些没有问答的行业多出来一些信息。可以为第三列的公式设定条件,像这样:


 这里用到了逻辑判断函数If和O,具体啥用法,自己上网搜或在Excel中按F1求助吧。似乎万事大吉了,但向下翻页,发现了新问题:


 那个#N/A意思是Vlookup没有搜到相应的字串。这个原因很好理解,因为有些字串是经过断句的,而Vlookup函数是有完整的单元格内容进行匹配的。这个问题很好解决,只需为要被锁定的子串前后加上星号即可,=VLOOKUP("*"&A75&"*",'Chinese (Simplified)'!E:G,3,FALSE)。确定无误之后,将修改好的单元格复制到其他相应列即可,结果如下:



 下面,第三列内容复制到那个双语文件的Comment列:



 确定一切正常后,保存关闭,重新导入memoQ。哈,有了:


 

搞定。这个翻译项目很小,只有100多句,而问题也只涉及其中7句,似乎没必要这一通折腾。但是想想看,如果这个项目有几百上千句,甚至几千上万句,该有多好!不对,应该说,那效果可就不一样了。


另外,多说一句,我特别喜欢memoQ的标注和导出/导入功能。如果那个标注对话框,支持富文本就更好了。这样,你就能粘贴链接、图片,进行粗体、斜体、下划线等标注了。




作者简介:

江伟,网名 翻译段子手


"A translator by profession, a desktop publisher by trade, a coder by hobby (专业翻译,副业排版,爱好编程)。不要期待我发表什么长篇大论。我只是把我平时为了解决自己遇到的实际问题而 学习编程的点点滴滴写出来。如果凑巧这些对读者也有帮助, 那就再好不过了。


继续滑动看下一个
职业译员玩转翻译技术
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存