如何修正这个动态翻译公式

问题描述 投票:0回答:1

我正在尝试有效地将英语翻译成一种虚构的语言,我在另一张纸上制作了词典。

示例:

在表 1 中,C 栏有大约 500 个新语言单词。 C1 是单词 1,C2 是单词 2,依此类推。在工作表 1 中,D 列包含 C 列中单词的英文翻译。 D1 是英语的 C1 等等

在表 2 A1 中,我想用英语键入一段文字,并让它自动将我用英语写的单词更改为从表 1 的词典中提取的新语言单词。

期望结果示例:

如果我在sheet2 A1中输入“I am happy”,我希望A1将sheet1引用为词典,其中D1是I,D2是am,D3是happy,C1是newlangugeI,C2是newlanguageam,C3会很高兴新语言。因此,sheet2 A1 会将“我很高兴”翻译成“newlanguageI newlanguageam newlanguagehappy”

目前适用于

=TEXTJOIN(" ", TRUE, XLOOKUP(TEXTSPLIT(A1, " "), Sheet1!D2:D1000, Sheet1!C2:C1000, ""))

但不考虑大写或标点符号。我目前正在尝试修复这个公式来解决这个问题:

=TEXTJOIN(" ", TRUE, IF(ISNUMBER(SEARCH(TEXTSPLIT(SUBSTITUTE(LOWER(A1), {".",";",":",",","?","!"}, ""), " "), Sheet1!D2:D1000)), 
    INDEX(Sheet1!C2:C1000, 
        MATCH(TRUE, 
            ISNUMBER(SEARCH(TEXTSPLIT(SUBSTITUTE(LOWER(A1), {".",";",":",",","?","!"}, ""), " "), 
            TEXTSPLIT(Sheet1!D2:D1000, " "))), 0)
        ),
    TEXTSPLIT(SUBSTITUTE(LOWER(A1), {".",";",":",",","?","!"}, ""), " ")
))

但是我收到一个值不适用于公式或函数的错误。

excel excel-formula
1个回答
0
投票

到目前为止我得到了这个:

=XLOOKUP(SUBSTITUTE(SUBSTITUTE(TEXTSPLIT(A45," ",,TRUE,1),",",""),".",""),$A$50:$A$60,$B$50:$B$60,,0)

其中

A45
是英文句子,
A50:A60
是英文单词,
B50:B60
是翻译单词。 enter image description here

(A46 是

TEXTJOIN
,因此所有标点符号都会丢失。)

© www.soinside.com 2019 - 2024. All rights reserved.