gpt4 book ai didi

excel - 如何接受excel公式中的9个第一个字符?

转载 作者:行者123 更新时间:2023-12-04 19:58:42 25 4
gpt4 key购买 nike

我正在尝试获得这种结果,如果在 sheet2 的 A 列的任何位置找到 A 列的前三个数字,则在 sheet1 上检查。如果找到数字,则在 B 列 excel 上打印 Yes,如果找不到excel打印编号:

表 1

    A         B  
=12300 Yes
=56700 Yes
=89200 No

表 2
    A
=12345
=56789
=44498

我目前在 sheet1 col B 上的公式是
=IF(ISNUMBER(MATCH(A1;Sheet2!A:A));"Yes";"No")

如何增加检查是否只考虑两张表中的前 3 个字符的可能性?

最佳答案

您可以最初 尝试:

=IF(ISNUMBER(MATCH(LEFT(A1,3),LEFT(Sheet2!A1:A3,3),0)),"YES","NO")

并确保通过 CtrlShiftEnter 作为数组输入

请注意使用范围的引用,由于性能问题,您可能希望尝试避免整个列引用的数组公式。在这种特定情况下,我们可以通过以下方式使其动态化:
=IF(ISNUMBER(MATCH(LEFT(A1,3),LEFT(Sheet2!A1:INDEX(Sheet2!A:A,COUNTA(Sheet2!A:A)),3),0)),"YES","NO")

现在我们得到了一个动态公式,我们不妨尽量避免使用必须将其作为数组公式输入。我们可以实现 INDEX解决这个问题:
=IF(ISNUMBER(MATCH(LEFT(A1,3),INDEX(LEFT(Sheet2!A1:INDEX(Sheet2!A:A,COUNTA(Sheet2!A:A)),3),),0)),"YES","NO")

因此,我们有它;避免必须输入的动态数组公式 =)

如果您的值实际上以 = 开头那么你应该用 LEFT 引用值的前 4 个字符.并且还要考虑到您的参数通过分号分隔,最终公式如下所示:
=IF(ISNUMBER(MATCH(LEFT(A1;4);INDEX(LEFT(Sheet2!A1:INDEX(Sheet2!A:A;COUNTA(Sheet2!A:A));4););0));"YES";"NO")

关于excel - 如何接受excel公式中的9个第一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58283491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com