Excel居然可以實現批次自動翻譯

有時候我們的excel表格中需要將一列都翻譯成中文或英文,如果一個一個的去做的話,很麻煩,那麼我們有沒有一個方法讓它實現批次自動翻譯呢?答案當然是:有!

我們的目標是實現以下的效果,左邊是原文,右邊是中文和英文的組合:

Excel居然可以實現批次自動翻譯

步驟一、線上翻譯:

在這裡,我們採用youdao線上翻譯的方式,在單元格中輸入:=FILTERXML(WEBSERVICE(“http://fanyi。youdao。com/translate?&i=”&D3&“&doctype=xml&version”),“//translation”),這表示到youdao的網站上查詢 D3 單元格(即原文)的翻譯結果,並抓取相應的資訊。我們可以得到如下結果,基本可以,但和我們想要的還有一定的差別:

Excel居然可以實現批次自動翻譯

步驟二、中英文連線:

我們現在就需要將原文和譯文連線在一起,使用的方法是,在兩個字串中增加一個回車字元char(10),將這個公式修正為:=

D3&CHAR(10)&

FILTERXML(WEBSERVICE(“http://fanyi。youdao。com/translate?&i=”&D3&“&doctype=xml&version”),“//translation”), 有下劃線的部分就是增加的內容。

Excel居然可以實現批次自動翻譯

就此得到了想要的格式(中文在上面,英文在下面),但如果原文是英文的話,英文就在上面了,我們需要智慧的判定方法。

Excel居然可以實現批次自動翻譯

步驟三、智慧判別後組合:

所以,我們現在需要判別原因是中文還是英文,然後再按固定的格式輸出。在此,我們採用LEN()和LENB()。

它們都是計算字元的長度,LEN是按字元數算的,無論是漢字還是數字,都是按1來計數,LENB是按位元組數算的。數字、字母、英文、半形狀態下輸入的標點符號按1計算的,漢字、全形狀態下輸入的標點符號按2計算。

所以,我們就可以藉此智慧區分中英文。

因此,我們需要修改公式為:

=IF(LEN(D3)<>LENB(D3),D3&CHAR(10)&@FILTERXML(WEBSERVICE(“http://fanyi。youdao。com/translate?&i=”&D3&“&doctype=xml&version”),“//translation”),@FILTERXML(WEBSERVICE(“http://fanyi。youdao。com/translate?&i=”&D3&“&doctype=xml&version”),“//translation”)&CHAR(10)&D3),得到的結果如下:

Excel居然可以實現批次自動翻譯

當然,這個翻譯結果只能作為參考,最終還是需要自己確認的。

後續,我再分享一些

函式、圖表、資料透檢視

方面的詳細資訊,希望大家喜歡。