Excel的审阅选项卡中有一个翻译工具,它一次只能翻译一个单词,如果要求批量翻译整句文字,Excel能否实现呢?
解题步骤
有个翻译软件有一个在线翻译工具,其网址为http://fanyi.youdao.com。
Excel提供了一个WEBSERVICE函数,可以读取该网页代码,因此借用WEBSERVICE函数可以执行中英翻译。
假设要翻译A2:A4区域的语句,具体操作步骤如下。
1.在B2单元格中输入以下公式:
2.双击B2单元格的填充柄,使公式自动向下填充,翻译结果如图7.132所示。
图7.132 批量翻译中文成英文
知识扩展
1."http://fanyi.youdao.com/translate?&i="&A2&"&doctype=json",这是一个名为“有道”的在线翻译网址,其中A2代表需要翻译的内容在A2单元格中,可以是中文也可以是英文。
2.WEBSERVICE函数用于读取网站内容,它本身没有翻译功能,本例利用有道软件的在线翻译工具执行翻译,然后使用WEBSERVICE函数读取翻译结果。
3.WEBSERVICE函数读取的网页内容包含翻译结果,但并不只有翻译结果,还存在其他的干扰符,需要使用函数去除干扰符。
以 “路 在 脚 下” 为 例,翻 译 后 产 生 的 网 页 代 码 是“{"type":"ZH_CN2EN","errorCode":0,"elapsedTime":0,"translateResult":[[{"src":" 路 在 脚 下","tgt":"At the foot of the road in"}]]}”,只有“At the foot of the road in”才是真正的翻译结果,必须使用函数去除干扰符。
观察以上字符串可以发现规律:目标在“""tgt"":""”与“""}]]}”之间,因此使用SUBSTITUTE函数将两者都替换成1000个空格,然后使用MID函数从第1000位开始提取长度为1000的字符串,最后删除空格,剩下的字符即为翻译结果。
以上算法和案例174中提取两个“-”之间的日期的思路完全一致。