Excel 不区分某些阿拉伯字母的函数

Excel Functions not Differentiating Some Arabic Letters

我在 excel 中有一个 table 和一些阿拉伯语 letters/words 以及他们的身份证号码;这是两列的 table:

ID          Letter
ء           1
2           آ
3           أ
4           إ
5           لا
6           لإ
7           ئ
8           ا
9           ـا
10          لأ
11          ـلا
12          ب
13          بـ
14          ـب
15           ـبـ

我想要的是在另一个sheet中输入字母后能够检索到该字母的id。 我同时使用了 match 和 vlookup excel 函数,它们似乎工作正常。但是,问题是它不能正确识别字母。

So, for example, if I enter ء I get 1 - which is correct.
If I enter آ I get 2 - which is correct.
If I enter أ I get 2 - which is incorrect, it should return 3
If I enter إ I get 2 - which is incorrect, it should return 4
If I enter ب I get 12 - which is correct.
If I enter بـ I get 13 - which is correct.
If I enter ـب I get 13 - which is incorrect, it should return 14
If I enter ـبـ I get 12 - which is incorrect, it should return 15

我用于 vlookup 的公式:

=VLOOKUP(A2; Full!$A:$E5; 2; FALSE)

其中:A2有我输入的字母 Full!$A:$E5 是 table 我的数据 2 是我要从中获取数据的列的编号 False 因为我想要完全匹配

可能是什么问题?

我相信更聪明的人会想出更优雅的东西,但这里有一个适用于任何长度为 3 个或更少字符的示例:

  1. 将第六列添加到您的 table 并使用以下公式填充:

    =CHOOSE(LEN(B2),UNICODE(B2),UNICODE(B2) & UNICODE(MID(B2,2,1)),UNICODE(B2) & UNICODE(MID(B2,2,1)) & UNICODE(RIGHT(B2,1)))
    

(我假设第 B 列是阿拉伯语文本在您的 table 中的位置)

  1. 然后使用下面的公式得到table中的行:

    =MATCH(CHOOSE(LEN(A2),UNICODE(A2),UNICODE(A2) & UNICODE(MID(A2,2,1)),UNICODE(A2) & UNICODE(MID(A2,2,1)) & UNICODE(RIGHT(A2,1))),Full!F:F,0)
    

(其中 A2 是您输入查找文本的位置,Full!F:F 是在步骤 1 中插入公式的列)

匹配后,您可以使用 INDEX 检索您需要的任何数据。

您可以使用 UNICODE() 公式提供一个可以正确比较的 id。

我在Sheet"Full"上新建了A列(id现在移到B列,阿拉伯字母移到C列),A列单元格公式如下sheet中的A25全:

=UNICODE(C25)

那么检索 ID 的公式为:

=VLOOKUP(UNICODE(A2); Full!$A:$B5; 2; FALSE)

其中 A2 是您输入要知道 ID 的阿拉伯字母的位置。