You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel 2016如何用公式翻译列内容并拖拽实现批量翻译?

实现Excel 2016批量翻译A列文本到B列的方法

嘿,这个需求完全可行!不过得先说明:Excel 2016本身没有自带的原生翻译公式,没法直接在B1输入一个现成公式就用,但我们有两种非常靠谱的方法来实现你要的批量翻译+拖拽填充效果,下面给你详细拆解:

方法一:用VBA自定义翻译函数(支持拖拽批量处理)

这种方法可以让你像用普通Excel公式一样,输入后直接拖拽填充,完美匹配你的需求:

  1. 打开Excel文件,按下Alt + F11打开VBA编辑器
  2. 在编辑器左侧的“工程”面板里,右键点击你的工作簿名称,选择「插入」→「模块」
  3. 在弹出的模块代码窗口里,粘贴以下代码:
Function TranslateText(rng As Range, targetLang As String) As String
    ' 处理可能的翻译错误(比如网络问题、语言代码无效)
    On Error Resume Next
    ' 调用Excel内置的翻译功能,自动检测源语言
    TranslateText = Application.Translate(rng.Value, "", targetLang)
    On Error GoTo 0
End Function
  1. 关闭VBA编辑器,回到Excel工作表

现在你就可以用这个自定义函数了:

  • 在B1单元格输入 =TranslateText(A1, "en")(这里的"en"代表目标语言是英文,如果你要翻译成其他语言,换成对应代码就行,比如中文是"zh-CN",西班牙语是"es"
  • 输入完成后按回车,就能看到A1的法语翻译成英文的结果
  • 鼠标放在B1单元格右下角的填充柄上,按住左键向下拖拽,就能批量翻译A2、A3……所有单元格的内容

注意:

  • 这个方法需要联网,因为翻译依赖微软的在线翻译服务
  • 保存文件时要选择.xlsm格式(启用宏的工作簿),否则下次打开自定义函数会失效
  • 如果出现空白结果,检查一下语言代码是否正确,或者网络是否正常

方法二:用Power Query批量翻译(无需写代码)

如果你不想启用宏,Power Query是个更安全的选择,操作也很直观:

  1. 选中A列所有需要翻译的文本(如果A列有表头,记得包含表头)
  2. 点击Excel顶部的「数据」选项卡,选择「从表格/区域」(如果没看到这个按钮,在「数据」→「获取和转换」组里找)
  3. 在弹出的对话框里,勾选「我的表格有标题」(如果A列没有表头就不勾选),点击「确定」进入Power Query编辑器
  4. 在编辑器顶部的「添加列」选项卡,找到并点击「翻译」按钮
  5. 在翻译对话框里,「源语言」选「自动检测」(或者手动选择当前的法语French),「目标语言」选「English」,点击「确定」
  6. 稍等几秒,Power Query会自动生成一个包含翻译结果的新列
  7. 点击编辑器顶部的「关闭并上载」,选择把结果上载到当前工作表的B列位置,或者新工作表

这种方法的好处是不需要写代码,而且如果A列内容更新了,只要右键点击翻译后的列,选择「刷新」就能更新翻译结果。

内容的提问来源于stack exchange,提问作者user3165854

火山引擎 最新活动