我正在尝试确定某个问题是否已被查询。
R 列包含粘贴在下面的 True/false 公式,以及Column S
包含多个句子的查询文本(请注意,查询文本由公式生成)。另一个工作表中还有一个名为的数组列表All_Discreps
,它代表过去发送的更正式的查询列表。因此,我需要将我的列表column S
与更正式的列表进行比较,看看是否匹配。如果匹配,则我将消息打印already queried
在 中column R
。
公式column R
:
IF(AND(S7 <> "", ISNUMBER(MATCH(S7, All_Discreps!$J$1:$J$591, 0))), "already queried", "")
我遇到的问题是,中的文本与column S
其他工作表中的官方列表不匹配,这显然是由于生成 中的文本的公式所致column S
。如果我用“hello 123”覆盖 中的公式column S
,然后在另一个工作表中输入相同的内容“hello 123”,则会识别出匹配,这表明我在 中有一个基本有效的公式column R
。但是我必须做其他事情才能使其正常工作。
答案1
我找到了另一个讨论,它解决了我的问题。我的问题的根本原因与 Match 函数的 255 个字符限制有关。
看: http://www.ozgrid.com/forum/showthread.php?t=184721 或者搜索“Excel MATCH 255 个字符限制”以查看有关此问题的其他帖子。有些人给出 255 个字符限制……其他人说 256 个字符。主要思想是 TRUE 函数将允许它包含超过 255 个字符(例如,根据一个帖子 [我目前找不到],最多可包含 113,000 个字符)。
因此,对我有用的公式(针对单元格 R7)是:
IF(AND(S7 <> "", ISNUMBER(MATCH(TRUE, INDEX(All_Discreps!$J$1:$J$591 = S7, 0), 0))), "Already queried", "")