首页 > 解决方案 > 带变量的公式 IF

问题描述

我想使用每个条件的长度将单元格值与条件列表进行比较,并在公式找到匹配项时停止

所以我的逻辑是,当锁定的单元格为空时进行一个循环进行比较,然后退出循环并结束宏,但是如果单元格包含一个值,则进入循环,然后使用变量生成一个带有循环的公式重复公式(每次循环运行时增加行)直到公式结果是一个有效值而不是 FALSE 然后退出循环并向下偏移一行并再次开始循环,第二个值看起来相同,直到完成值列表我需要看看。

所以要列出,一个是最大的,还有另一个标准列表。

C = 2
For i = 1 To Range("D1")
    If IsEmpty(Sheets("Clean").Cells(i, 1)) = False Then
        For A = 2 To Range("I1")
        Do While (Sheets("Clean").Cells(C, 3)) = False
        Sheets("Clean").Cells(A, 3) = "=IF(LEFT(RC[-2],LEN(R&C&C10))=R&C&C10,RR&C&C10,FALSE)"
        Loop
        C = C + 1
        Next A
    End If
Next i

标签: excelvba

解决方案


根据您的描述和评论,在单元格 C2 中使用此公式并复制下来:

=IFERROR(INDEX($J$2:$J$88,MATCH(1,INDEX(COUNTIF(A2,$J$2:$J$88&"*"),),0)),"No matching family")

$J$2:$J$88是您尝试匹配列 A 单元格开头的 87 个家庭,根据需要调整该范围。


推荐阅读