Google Sheets中GOOGLETRANSLATE批量翻译多行失效解决方案
Google Sheets 单公式批量翻译城市名方案
问题原因
直接在公式中给GOOGLETRANSLATE传入多单元格区域A2:A100时,函数默认仅处理区域内第一个有效值,因此只会返回B2单元格的翻译结果,不会自动批量处理整段区域。
可用单公式方案
不需要逐格下拉填充,只需要在B2单元格粘贴以下公式,按回车后就会自动批量完成A2:A100所有英文城市名到土耳其语的翻译,结果自动溢出填充整个B2:B100区域:
=BYROW(A2:A100,LAMBDA(cell,IF(cell="","",GOOGLETRANSLATE(cell,"en","tr"))))
公式逻辑说明
BYROW会按行遍历A2:A100的每一个单元格,将单个单元格内容传入后续处理逻辑,解决GOOGLETRANSLATE不支持直接批量传入区域的问题- 嵌套的
IF(cell="","")判断会自动跳过A列的空单元格,避免空值触发无意义的翻译请求、返回错误值 - 公式里的源语言参数
"en"、目标语言参数"tr"可以根据实际翻译需求直接调整
旧版本兼容方案
如果你的Google Sheets不支持自动溢出填充,就先选中整个B2:B100区域,点击顶部编辑栏粘贴上述公式,按下Ctrl+Shift+Enter组合键将公式确认为数组公式,同样可以一次性返回全区域的翻译结果。
内容的提问来源于stack exchange,提问作者tolga
相关产品推荐
相关产品推荐

